#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