Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Lớp số phức có quá tải toán tử "+" để cộng hai số phức. Chương trình không chạy được.

  1. #1
    Ngày gia nhập
    10 2018
    Bài viết
    13

    Mặc định Lớp số phức có quá tải toán tử "+" để cộng hai số phức. Chương trình không chạy được.

    Code:
    #include <iostream>
    #include <math.h>
    using namespace std;
    
    class sophuc
    {
    	private:
    		float a,b;
    	public:
    		sophuc()
    			{
    				float x,y;
    				a = x;
    				b = y;
    			}
    			
    		void nhap(sophuc c);
    		void xuat(sophuc c);
    		
    		sophuc operator + (sophuc c1)
    		{
    			a=a + c1.a;
    			b=b + c1.b;
    			return (*this);
    		}
    		
    		
    };
    
    void sophuc::nhap(sophuc c)
    {
    	cout <<"\n nhap so phuc: ";
    	cin >> c.a >>c.b;
    };
    
    void sophuc::xuat(sophuc c)
    {
    	cout <<"\nso phuc do la: ";
    	if(b<0)
    		cout << c.a <<" " << c.b <<"i";
    	else
    		cout << c.a <<" +"<< c.b <<"i";
    };
    
    int main()
    {
    	sophuc a;
    	a.nhap(a);
    	a.xuat(a);
    	sophuc b;
    	b.nhap(b);
    	b.xuat(b);
    	sophuc d;
    	d=a+b;
    	cout << "\nTong";
    	d.xuat(d);
    	return 0;
    }

  2. #2
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    531

    Hàm xuat() tham số hình thức là bản sao của tham số thực tế, cũng tạm ổn. Nhưng hàm nhap(), cũng thế, thì không ổn. Vì nhap() cần truyền giá trị nhập vào, tức giá trị của tham số hình thức, ra tham số thực tế. Mà muốn thế thì tham số hình thức phải tham chiếu tham số thực tế mới được.
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

  3. #3
    Ngày gia nhập
    10 2018
    Bài viết
    13

    Trích dẫn Nguyên bản được gửi bởi Ada Xem bài viết
    Hàm xuat() tham số hình thức là bản sao của tham số thực tế, cũng tạm ổn. Nhưng hàm nhap(), cũng thế, thì không ổn. Vì nhap() cần truyền giá trị nhập vào, tức giá trị của tham số hình thức, ra tham số thực tế. Mà muốn thế thì tham số hình thức phải tham chiếu tham số thực tế mới được.
    Như thê này thì đã thỏa mãn yêu cầu của bạn chưa vậy
    Code:
    #include <iostream>
    #include <math.h>
    using namespace std;
    
    class sophuc
    {
    	private:
    		float a,b;
    	public:	
    		void nhap();
    		void xuat();
    		
    		sophuc operator + (sophuc c1)
    		{
    			sophuc c2;
    			c2.a=a + c1.a;
    			c2.b=b + c1.b;
    			return c2;
    		}
    		
    };
    
    void sophuc::nhap()
    {
    	cout <<"\n nhap so phuc: ";
    	cin >> a >> b;
    };
    
    void sophuc::xuat()
    {
    	cout <<"\nso phuc do la: ";
    	if(b<0)
    		cout << a <<" " << b <<"i";
    	else
    		cout << a <<" +"<< b <<"i";
    };
    
    int main()
    {
    	sophuc a,b;
    	a.nhap();
    	a.xuat();
    	b.nhap();
    	b.xuat();
    	sophuc d;
    	d=a+b;
    	cout << "\nTong";
    	d.xuat();
    	a.xuat();
    	return 0;
    }

  4. #4
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    531

    Yêu cầu là của bạn, không phải của mình. Vậy, code này đã được hay chưa, bạn tự nói đi.
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn