30/09/2018, 18:21

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 ??
`

Bài liên quan
0