#include
#include
using namespace std;
class Student{
string Name;
int age;
int id;
int Gread;
public:
Student(string N="DL",int a=1,int i=1,int G=1):Name(N),age(a),id(i),Gread(G){
};
virtual void SayHello(){};
void showName(){
cout<<Name;
}
string returnn(){
return Name;
}
int returnA(){
return age;
}
int returni(){
return id;
}
int returnG(){
return Gread;
}
virtual ~Student(){cout<<"学生已经死亡";};
};
class Big_Student:public Student{
string classname;
Student S1;
public:
Big_Student(Student &S,string classn):S1(S),classname(classn){
cout<<"构造一个学生!"<<endl;
};
void showSudent(){
cout<<"Name="<<returnn()<<endl;
cout<<"age="<<returnA()<<endl;
cout<<"id="<<returni()<<endl;
cout<<"Gread="<<returnG()<<endl;
}
void SayHello(){
showName();
cout<<"向老师说你好!"<<endl;
}
};
void main(){
Student S1("张三",15,55,99);
Big_Student Stud1(S1,"西华大学");
Stud1.showSudent();
cout<<"----------------------"<<endl;
Stud1.SayHello();
system("pause");
}
Student S1("张三",15,55,99); //这里缺失改变了默认值
Big_Student Stud1(S1,"西华大学"); //这里的赋值改变了 Big_Student 里面的S1值
Stud1.showSudent(); //函数调用,如果不指明谁调用,当然是是默认值,所有需要指明S1.S1.returnA(),
class Student{
string Name;
int age;
int id;
int Gread;
public:
Student(string N="DL",int a=1,int i=1,int G=1):Name(N),age(a),id(i),Gread(G){
};
virtual void SayHello(){};
void showName(){
cout<<Name;
}
string returnn(){
return Name;
}
int returnA(){
return age;
}
int returni(){
return id;
}
int returnG(){
return Gread;
}
virtual ~Student(){cout<<"学生已经死亡";};
};
class Big_Student:public Student{
string classname;
Student S1;
public:
Big_Student(Student &S,string classn):S1(S),classname(classn){
cout<<"构造一个学生!"<<endl;
};
void showSudent(){
cout<<"Name="<<S1.returnn()<<endl; //S1只是一个变量,在构造时已经赋值,如果returnn()的话当然还是默认值,这里需要指明谁在调用
cout<<"age="<<S1.returnA()<<endl;
cout<<"id="<<S1.returni()<<endl;
cout<<"Gread="<<S1.returnG()<<endl;
}
void SayHello(){
S1.showName();
cout<<"向老师说你好!"<<endl;
}
};
void main()
{
Student S1("张三",15,55,99);
Big_Student Stud1(S1,"西华大学");
Stud1.showSudent();
cout<<"----------------------"<<endl;
Stud1.SayHello();
system("pause");
}