#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");
}
为什么我给Big_Student赋予了新值但是show出来的还是构造器里面的值?(小白)
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- shen_wei 2016-12-21 09:43关注
Student S1("张三",15,55,99); //这里缺失改变了默认值 Big_Student Stud1(S1,"西华大学"); //这里的赋值改变了 Big_Student 里面的S1值 Stud1.showSudent(); //函数调用,如果不指明谁调用,当然是是默认值,所有需要指明S1.S1.returnA(),
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 matlab生成的x1图不趋于稳定,之后的图像是稳定的水平线
- ¥15 请问华为OD岗位的内部职业发展通道都有哪些,以及各个级别晋升的要求
- ¥20 微信小程序 canvas 问题
- ¥15 系统 24h2 专业工作站版,浏览文件夹的图库,视频,图片之类的怎样删除?
- ¥15 怎么把512还原为520格式
- ¥15 MATLAB的动态模态分解出现错误,以CFX非定常模拟结果为快照
- ¥15 求高通平台Softsim调试经验
- ¥15 canal如何实现将mysql多张表(月表)采集入库到目标表中(一张表)?
- ¥15 wpf ScrollViewer实现冻结左侧宽度w范围内的视图
- ¥15 栅极驱动低侧烧毁MOSFET