fork download
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. class HH {
  6. private:
  7. float chieuDai;
  8. float chieuRong;
  9. float chieuCao;
  10.  
  11. public:
  12. // Phương thức khởi tạo mặc định
  13. HH() : chieuDai(0), chieuRong(0), chieuCao(0) {}
  14.  
  15. // Phương thức khởi tạo có tham số
  16. HH(float dai, float rong, float cao) : chieuDai(dai), chieuRong(rong), chieuCao(cao) {}
  17.  
  18. // Phương thức tính thể tích
  19. float tinhTheTich() const {
  20. return chieuDai * chieuRong * chieuCao;
  21. }
  22.  
  23. // Toán tử xuất <<
  24. friend ostream& operator<<(ostream& os, const HH& hinhHop) {
  25. os << "Chieu dai: " << hinhHop.chieuDai << endl;
  26. os << "Chieu rong: " << hinhHop.chieuRong << endl;
  27. os << "Chieu cao: " << hinhHop.chieuCao << endl;
  28. os << "The tich: " << hinhHop.tinhTheTich() << endl;
  29. return os;
  30. }
  31.  
  32. // Toán tử nhập >>
  33. friend istream& operator>>(istream& is, HH& hinhHop) {
  34. cout << "Nhap chieu dai: ";
  35. is >> hinhHop.chieuDai;
  36. cout << "Nhap chieu rong: ";
  37. is >> hinhHop.chieuRong;
  38. cout << "Nhap chieu cao: ";
  39. is >> hinhHop.chieuCao;
  40. return is;
  41. }
  42.  
  43. // Toán tử cộng (+)
  44. HH operator+(const HH& hinhHop) {
  45. return HH(
  46. this->chieuDai + hinhHop.chieuDai,
  47. this->chieuRong + hinhHop.chieuRong,
  48. this->chieuCao + hinhHop.chieuCao
  49. );
  50. }
  51. };
  52.  
  53. int main() {
  54. // Khai báo hai đối tượng P và Q thuộc lớp HH
  55. HH P(3.5, 2.0, 1.5); // Khởi tạo với giá trị cụ thể
  56. HH Q;
  57. cout << "Nhap thong tin hinh hop Q:" << endl;
  58. cin >> Q;
  59.  
  60. // Tính tổng hai hình hộp P và Q
  61. HH Tong = P + Q;
  62.  
  63. // Xuất thông tin P, Q và tổng ra màn hình
  64. cout << "Thong tin hinh hop P:" << endl;
  65. cout << P << endl;
  66. cout << "Thong tin hinh hop Q:" << endl;
  67. cout << Q << endl;
  68. cout << "Thong tin tong hai hinh hop P va Q:" << endl;
  69. cout << Tong << endl;
  70.  
  71. // Ghi thông tin vào tệp "hinhhop.txt"
  72. ofstream file("hinhhop.txt");
  73. if (file.is_open()) {
  74. file << "Thong tin hinh hop P:" << endl;
  75. file << P << endl;
  76. file << "Thong tin hinh hop Q:" << endl;
  77. file << Q << endl;
  78. file << "Thong tin tong hai hinh hop P va Q:" << endl;
  79. file << Tong << endl;
  80. file.close();
  81. cout << "Thong tin da duoc luu vao tep hinhhop.txt." << endl;
  82. } else {
  83. cout << "Khong the mo tep hinhhop.txt de ghi du lieu!" << endl;
  84. }
  85.  
  86. return 0;
  87. }
  88.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Nhap thong tin hinh hop Q:
Nhap chieu dai: Nhap chieu rong: Nhap chieu cao: Thong tin hinh hop P:
Chieu dai: 3.5
Chieu rong: 2
Chieu cao: 1.5
The tich: 10.5

Thong tin hinh hop Q:
Chieu dai: 0
Chieu rong: 0
Chieu cao: 0
The tich: 0

Thong tin tong hai hinh hop P va Q:
Chieu dai: 3.5
Chieu rong: 2
Chieu cao: 1.5
The tich: 10.5

Khong the mo tep hinhhop.txt de ghi du lieu!