Em mới học class, em không hiểu đoạn code này sai cái gì, mong các anh giúp e
đoạn code đúng:
‘’’
#include
#include
using namespace std;
// lop cha
class Nguoi
{
protected:
char hoTen[30];
int namSinh;
private:
char soThich[50]; // so thich
public:
Nguoi() // khoi tao lop Nguoi
{
strcpy_s(hoTen, "Nguyen Van A");
namSinh = 1990;
strcpy_s(soThich, "Lap trinh");
}
void InTT(); // In thông tin
};
// lop con
class HocSinh : public Nguoi
{
protected:
int maHS;
public:
void Nhap();
void InTT();
};
// InTT cua cha (Nguoi)
void Nguoi::InTT()
{
cout << "
Nam sinh : " << namSinh;
cout << "
Ho ten : " << hoTen;
cout << "
So thich : " << soThich;
}
// InTT cua con (HocSinh)
void HocSinh::InTT()
{
cout << "
Ma hoc sinh : " << maHS;
cout << "
Nam sinh : " << namSinh;
cout << "
Ho ten : " << hoTen;
}
// Nhap thong tin
void HocSinh::Nhap()
{
cout << "
Nam sinh : ";
cin >> namSinh;
cout << "
Ho ten : ";
gets_s(hoTen);
cout << "
Ma hoc sinh: ";
cin >> maHS;
}
// ham main ---------------------------------------------
void main()
{
// khai bao doi tuong Nguoi
Nguoi a;
a.InTT();
// khai bao doi tuong HocSinh
HocSinh t;
t.Nhap();
t.InTT();
system("pause");
}
‘’’
đoạn code sai:
‘’’
#define _CRT_SECURE_NO_WARNINGS
#include
#include
using namespace std;
class Nguoi{
protected:
char hoTen[50];
int namSinh;
private:
char soThich[50];
public:
Nguoi(char ten[], int ns, char s[]){
strcpy(hoTen, ten);
namSinh = ns;
strcpy(soThich, s);
}
void Init();
};
class HocSinh : public Nguoi{
protected:
int msHS;
public:
void Init();
void Nhap();
};
void Nguoi::Init(){
cout << namSinh << endl;
cout << hoTen << endl;
cout << soThich << endl;
}
void HocSinh::Init(){
cout << msHS << endl;
cout << namSinh << endl;
cout << hoTen << endl;
}
void HocSinh::Nhap(){
cout << "Nhap ho ten: ";
gets(hoTen);
cout << "Nhap nam sinh: ";
cin >> namSinh;
}
int main(){
Nguoi people(“Phan Thanh Nam”, 1996, “code and game”);
people.Init();
HocSinh student;
student.Nhap();
student.Init();
system(“pause”);
return 0;
}
‘’’
nó thông báo rằng no appropriate default constructor available...
2 đoạn code trên có khác nhau chỗ khởi tạo constructor của lớp Nguoi
nhưng em ko hiểu tại sao lại sai ??
`