DL1997 2016-12-21 02:39 采纳率: 33.3%
浏览 726
已采纳

为什么我给Big_Student赋予了新值但是show出来的还是构造器里面的值?(小白)

#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");
}图片说明

  • 写回答

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(),
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥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