Mọi người cho mình hỏi đoạn code này giải thích như nào ạ.
main()
{
HINH * p[100];
int n;
cout << "nhapsoluong:"; cin >> n;
for (int i = 0; i < n; i++){
int chon;
cout << "moi chon (1-HCN;2-H_TRON,3-TAM GAC)";
cin >> chon;
switch (chon)
{
case 1:
p[[i] = new HCN();// mọi người cho mình hỏi đoạn này là gán như thế nào ạ.
break;;
case 2:
p[[i] = new H_TRON();
break;
case 3:
p[i] = new TAM_GIAC();
break;
}
p[i]->nhap();// gọi tới nhập vậy lúc này sẽ gọi tới hàm nhập của lớp nào ạ.
}
for(int i = 0; i < n; i++){
p[i]->in();
}
}
Bài toán trên gồm có 4 lớp trong đó 3 lớn HCN,H_TRON,TAM_GIAC là kế thừa từ lớp HINH. tất cả các lớp đều có 2 hàm void nhap()
, void in()
.
Mọi người giải thích dùm mình với ạ. cái này bạn mình gửi cho mình nhưng mình lại không hiểu hết được.