Code nạp chồng toán tử cho class số phức bị lỗi

#include <iostream>
using namespace std;

class SoPhuc {
private:
	int PhanNguyen, PhanPhuc;
public:
	SoPhuc();
	SoPhuc(int a, int b)
	{
		PhanNguyen = a;
		PhanPhuc = b;
	}
	void NhapPhanNguyen(int a)
	{
		PhanNguyen = a;
	}
	void NhapPhanPhuc(int b)
	{
		PhanPhuc = b;
	}
	int getNguyen()
	{
		return PhanNguyen;
	}
	int getPhuc()
	{
		return PhanPhuc;
	}
	void display()
	{
		if (PhanPhuc < 0)
			cout << PhanNguyen << " - " << PhanPhuc * (-1) << "i";
		else cout << PhanNguyen << " + " << PhanPhuc << "i";
	}
};
SoPhuc operator+(SoPhuc ps, SoPhuc ps1)
{
	SoPhuc ps2;
	ps2.NhapPhanNguyen(ps.getNguyen + ps1.getNguyen);
	ps2.NhapPhanPhuc(ps.getPhuc + ps1.getPhuc);
	return ps2;
}
SoPhuc operator-(SoPhuc ps, SoPhuc ps1)
{
	SoPhuc ps3;
	ps3.NhapPhanNguyen(ps.getNguyen - ps1.getNguyen);
	ps3.NhapPhanPhuc(ps.getPhuc - ps1.getPhuc);
	return ps3;
}

int main()
{
	SoPhuc obj1(1, 2), obj2(2,3), result(0,0);
	result = obj1 + obj2;
	result.display();
	return 0;

}


Mọi người cho mình hỏi lỗi biên dịch gì mà mình tìm mãi vẫn không có chỗ fix mà ko chạy code được

Thuộc tính phần nguyên và phức là private vậy thì làm sao nạp chồng toán tử lấy được mà thực hiện ta :thinking:.

6 Likes

Cảm ơn bạn nhưng được nha bạn vì thế nên mình mới dùng phương thức get() với nhập để nhập và lấy số ra đấy bạn. Mình biết lỗi mình ở đâu r khúc nạp chồng các hàm getTu() mình bỏ thiếu ngoặc.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?