#include<iostream>
#include<vector>
using namespace std;
class Test{
private:
char* ten;
public:
Test();
~Test();
void Nhap();
void In();
};
Test::Test(){
ten=new char[25];
ten[0]='\0';
}
Test::~Test(){
delete []ten;
}
void Test::Nhap(){
cout<<"Nhap ten: ";
cin.getline(ten,25);
}
void Test::In(){
cout<<ten;
}
main(){
vector<Test> ds;
int i=0;
char k;
do{
Test t;
cout<<"Nhap du lieu thu "<<++i<<"\n\n";
cin.sync();
t.Nhap();
ds.push_back(t);
cout<<"\n\nBan muon nhap tiep khong? (c/k): ";
cin>>k;
}while (k=='c');
for(int i=0;i<ds.size();i++){
ds[i].In();
}
system("pause");
}
Bài này tôi ví dụ cho lỗi xuất sai khi dùng char* trong class và sử dụng stl vector?? Không biết hướng giải quyết thế nào,…Nếu thay đổi char* ten thành char ten[25] thì xuất vẫn bình thường, mong mọi người xem và góp ý

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?