Sư huynh xem giúp em bài này với ạ.
Mục đích của em là khi gọi hs1.DoiTen(“Vy”); thì lập tức trong danh sách có hs1 sẽ đổi tên thành Vy.
Nhưng em không biết cách nào để có thể thay đổi ngay lập tức được. Em chỉ biết cách viết hàm cập nhật danh sách trong class LopHoc nhưng đề bài lại không cho phép @@~.
#include <iostream>
#include <conio.h>
#include <string>
#include <vector>
using namespace std;
class HocSinh
{
public:
string ten;
HocSinh(string tenHs)
{
ten = tenHs;
}
void DoiTen(string tenMoi)
{
ten = tenMoi;
}
};
class LopHoc
{
public:
string tenLop;
vector <HocSinh> dshs;
LopHoc(string lop)
{
tenLop = lop;
}
void ThemHocSinh(HocSinh hs)
{
dshs.push_back(hs);
}
void LietKeDanhSach()
{
cout << "Danh sach hoc sinh lop " << tenLop << endl;
for(int i = 0; i < dshs.size(); i++)
cout << dshs[i].ten << "\t";
cout << endl;
}
};
int main()
{
HocSinh hs1("Thanh"), hs2("Dat"), hs3("Ngan"), hs4("Tu"), hs5("Truc");
LopHoc lh1("A1");
LopHoc lh2("D1");
lh1.ThemHocSinh(hs1);
lh1.ThemHocSinh(hs2);
lh1.ThemHocSinh(hs3);
lh2.ThemHocSinh(hs4);
lh2.ThemHocSinh(hs5);
lh1.LietKeDanhSach();
lh2.LietKeDanhSach();
hs1.DoiTen("Vy");
lh1.LietKeDanhSach();
getch();
return 0;
}