Lập trình hướng đối tượng C++ Viết chương trình nhập vào hai số phức SP1, SP2. Tính tổng và hiệu hai số phức trên hiển thị kết quả ra màn hình theo các phương pháp sau: - Sử dụng phương thức - Sử dụng hàm tự do. - Sử dụng hàm bạn. - Sử dụng hàm toán tử (operator+; operator-) Trả lời: Phần mềm sử dụng: Visual Studio Sử dụng phương thức: CODE: Select All #include <iostream>using namespace std;class sp{private: double a; double b;public: void nhapsl() { cout << "\n nhap phan thuc :"; cin >> a; cout << " nhap phan ao :"; cin >> b; } void insl() { cout << "\n phan thuc la :" << a; cout << "\n phan ao la :" << b << "\n"; } sp cong(sp u2) { sp u; u.a = a + u2.a; u.b = this->b + u2.b; return u; } sp tru(sp u2) { sp u; u.a = a - u2.a; u.b = this->b - u2.b; return u; }};void main(){ sp ucong, utru, u1, u2; cout << "\n nhap so phuc thu nhat "; u1.nhapsl(); cout << "\n nhap so phuc thu thu 2 "; u2.nhapsl(); cout << "\n so phuc tong :"; ucong = u1.cong(u2); ucong.insl(); cout << "\n so phuc hieu :"; utru = u1.tru(u2); utru.insl(); system("pause");} - Sử dụng hàm tự do. CODE: Select All #include <iostream>using namespace std;class sp{public: double a; double b; void nhapsl() { cout << "\n nhap phan thuc :"; cin >> a; cout << " nhap phan ao :"; cin >> b; } void insl() { cout << "\n phan thuc la :" << a; cout << "\n phan ao la :" << b << "\n"; }};sp cong(sp u1, sp u2){ sp u; u.a = u1.a + u2.a; u.b = u1.b + u2.b; return u;}sp tru(sp u1, sp u2){ sp u; u.a = u1.a - u2.a; u.b = u1.b - u2.b; return u;}void main(){ sp ucong, utru, u1, u2; cout << "\n nhap so phuc thu nhat "; u1.nhapsl(); cout << "\n nhap so phuc thu thu 2 "; u2.nhapsl(); cout << "\n so phuc tong :"; ucong = cong(u1, u2); ucong.insl(); cout << "\n so phuc hieu :"; utru = tru(u1, u2); utru.insl(); system("pause");} - Sử dụng hàm bạn (Friend) CODE: Select All #include <iostream>using namespace std;class sp{private: double a; double b;public: void nhapsl() { cout << "\n nhap phan thuc :"; cin >> a; cout << " nhap phan ao :"; cin >> b; } void insl() { cout << "\n phan thuc la :" << a; cout << "\n phan ao la :" << b << "\n"; }friend sp cong(sp u1, sp u2) { sp u; u.a = u1.a + u2.a; u.b = u1.b + u2.b; return u; }friend sp tru(sp u1, sp u2) { sp u; u.a = u1.a - u2.a; u.b = u1.b - u2.b; return u; }};void main(){ sp ucong, utru, u1, u2; cout << "\n nhap so phuc thu nhat "; u1.nhapsl(); cout << "\n nhap so phuc thu thu 2 "; u2.nhapsl(); cout << "\n so phuc tong :"; ucong = cong(u1,u2); ucong.insl(); cout << "\n so phuc hieu :"; utru = tru(u1,u2); utru.insl(); system("pause");} Sử dụng toán tử CODE: Select All #include <iostream>using namespace std;class sp{private: double a; double b;public: void nhapsl() { cout << "\n nhap phan thuc :"; cin >> a; cout << " nhap phan ao :"; cin >> b; } void insl() { cout << "\n phan thuc la :" << a; cout << "\n phan ao la :" << b << "\n"; } sp operator +(sp u2) { sp u; u.a = a + u2.a; u.b = this->b + u2.b; return u; } sp operator -(sp u2) { sp u; u.a = a - u2.a; u.b = this->b - u2.b; return u; }};void main(){ sp ucong, utru, u1, u2; cout << "\n nhap so phuc thu nhat "; u1.nhapsl(); cout << "\n nhap so phuc thu thu 2 "; u2.nhapsl(); cout << "\n so phuc tong :"; ucong = u1 + u2; ucong.insl(); cout << "\n so phuc hieu :"; utru = u1 - u2; utru.insl(); system("pause");} Chúc các bạn thành công.