bạn nói rõ về cái con trỏ cấp 2 dc ko?
Nhưng cấp phát như bạn thì ko chạy dc
#include<iostream.h>
#include<string.h>
class dt{
protected:
char ten_hang[30];
int don_gia;
public:
void nhap()
{
http://cin.ignore(1);
cout<<"Nhap ten hang:";cin.getline(ten_hang,30);
cout<<"Nhap don gia:";cin>>don_gia;
}
void xuat()
{
cout<<"Ten hang:"<<ten_hang<<endl;
cout<<"Don gia:"<<don_gia<<endl;
}
dt(){}
~dt(){cout<<"Khoi chay ham huy..."<<endl;}
};
class fax:public dt{
protected:
char loai_muc[30];
int toc_do;
public:
friend ostream &operator<<(ostream&ra,fax&f)
{
ra<<"Ten hang: "<<f.ten_hang<<endl;
ra<<"Don gia: "<<f.don_gia<<endl;
ra<<"Loai muc: "<<f.loai_muc<<endl;
ra<<"Toc do: "<<f.toc_do<<endl;
return ra;
}
friend istream&operator>>(istream&vao,fax&f)
{
cin.ignore(1);
f.nhap();
cout<<"Nhap Loai muc:";vao.ignore(1);//loai bo enter
vao.getline(f.loai_muc,30);
cout<<"Nhap toc do:";vao>>f.toc_do;
return vao;
}
int check()
{
if(!strcmp(loai_muc,"giay nhiet")) return 1;
else
return 0;
}
};
int main()
{
fax **a=new fax*[3];
for(int i=0;i<3;i++) a[i]=new fax();
int count=0;
for(int i=0;i<3;i++)
cin>>*a[i];
cout<<"Danh sach may fax chiu nhiet"<<endl;
for(int i=0;i<3;i++)
if(a[i]->check())
{
cout<<*a[i]<<endl;
count++;
};
if(!count) cout<<"Khong co my fax chiu nhiet"<<endl;
return 0;
}