#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
Student(int n, string nae) :num(n), name(nae){}
void display()
{
cout << "num:" << num << endl << "name:" << name << endl;
}
~Student(){}
protected:
int num;
string name;
};
class Student1 :public Student
{
public:
Student1(int n, string nae, int n1, string name1,int a, string ad) :Student(n, nae),monitor(n1,name1), age(a), addr(ad){}
void show()
{
cout << "This student is:" << num << endl;
display();
cout <<"age:"<< age << endl;;
cout << "addr:" << addr << endl<< endl;
}
void show_monitor()
{
cout << endl << "class monitor is:" << endl;
monitor.display();
}
private:
Student monitor;
int age;
string addr;
};
int main()
{
Student1 stu1(110110, "Lao-Wang",10001,"Li-Yang", 19, "115 beijing Road,Shanghai");
stu1.show();
stu1.show_monitor();
return 0;
}
#include <iostream>
#include <string>
using namespace std;
class Student
{
public:
Student(int n, string nae) :num(n), name(nae){}
void display()
{
cout << "num:" << num << endl << "name:" << name << endl;
}
protected:
int num;
string name;
};
class Student1 :public Student //子类
{
public:
//子类构造函数的任务:1.对父类数据成员初始化;2.对子对象数据成员初始化;3.对子类数据成员进行初始化
Student1(int n, string nae,int a) :Student(n, nae), age(a){}
void show()
{
display();
cout <<"age:"<< age << endl;;
}
private:
int age;
};
class Student2:public Student1
{
public:
Student2(int n, string nae, int a, int s) :Student1(n, nae, a), score(s){}
void show_all()
{
show();
cout << "score: " << score << endl;
}
private:
int score;
};
int main()
{
Student2 stu1(110110, "Lao-Wang",19, 99);
stu1.show_all();
return 0;
}