所以我试图写一个名为本科生的类,它将Phone类的对象作为参数。但是,phone类使用一个名为msg的const数据成员。由于phone类中的const数据成员,这将无法编译。我怎么修理它?任何帮助将非常感激!
//下面是Phone类的默认构造函数,它使用const数据成员msg
Phone::Phone():msg(10){ //intialize const data member
areacode = 999;
exchange = 999;
line = 9999;
}
//这是我的构造函数,它接受对象作为参数
Undergraduate::Undergraduate(Name sname, Date bday, Program sprogram, Phone sphone, char g, string s, int c, double G, int gdyr, string term){
name = sname;
date = bday;
pgm = sprogram;
phone = sphone;
gender = g;
status = s;
credit = c;
gpa = G;
gradyear = gdyr;
gradterm = term;
}
我认为这里的问题可能是你说的电话=电话;这需要更改const成员。你可以在本科类中使用初始化列表来初始化它。
Undergraduate::Undergraduate(Name sname, Date bday, Program sprogram, Phone sphone, char g, string s, int c, double G, int gdyr, string term)
: phone(sphone)
{
name = sname;
date = bday;
pgm = sprogram;
gender = g;
status = s;
credit = c;
gpa = G;
gradyear = gdyr;
gradterm = term;
}