
C++里继承与派生的一个疑问,,一定采纳。
派生类构造函数名(总参数表列):基类1构造函数(参数表列),基类2构造函数(参数表列),基类3构造函数(参数表列){派生类中新增数据成员初始化语句}classGradua...
派生类构造函数名(总参数表列):基类1构造函数(参数表列),基类2构造函数
(参数表列),基类3构造函数(参数表列)
{派生类中新增数据成员初始化语句}
class Graduate:public Teacher,public Student //声明多重继承的派生类Graduate
{ public:
Graduate(string nam,int a,char s,string t,float sco,float w):
Teacher(nam,a,t),Student(nam,s,sco),wage(w) {}
这是教材里的例子的一部分。
派生类Graduate,基类1 Teacher,基类2 Student,基类3省略,那个wage(w){}属于上面哪个的呢,怎么套不上公式?
按照上面文字公式,好像
class Graduate:public Teacher,public Student //声明多重继承的派生类Graduate
{ public:
Graduate(string nam,int a,char s,string t,float sco,float w):
Teacher(nam,a,t),Student(nam,s,sco)
{wage=w;}才对的啊,怎么回事?求高人回答。在线等。 展开
(参数表列),基类3构造函数(参数表列)
{派生类中新增数据成员初始化语句}
class Graduate:public Teacher,public Student //声明多重继承的派生类Graduate
{ public:
Graduate(string nam,int a,char s,string t,float sco,float w):
Teacher(nam,a,t),Student(nam,s,sco),wage(w) {}
这是教材里的例子的一部分。
派生类Graduate,基类1 Teacher,基类2 Student,基类3省略,那个wage(w){}属于上面哪个的呢,怎么套不上公式?
按照上面文字公式,好像
class Graduate:public Teacher,public Student //声明多重继承的派生类Graduate
{ public:
Graduate(string nam,int a,char s,string t,float sco,float w):
Teacher(nam,a,t),Student(nam,s,sco)
{wage=w;}才对的啊,怎么回事?求高人回答。在线等。 展开
3个回答
展开全部
让我来回答你的我问题:
1 首先,你对于构造函数的认识是正确的,在列表中可以对变量负值,也可以调用基类的构造函数
2 Teacher(nam,a,t),Student(nam,s,sco) 这两个分别是基类的构造函数,这样调用时正确的。
3 wage(w) 这个东西如果你很确定不是基类的构造函数,那么他一定是 Graduate 类里面的一个成员变量。
1 首先,你对于构造函数的认识是正确的,在列表中可以对变量负值,也可以调用基类的构造函数
2 Teacher(nam,a,t),Student(nam,s,sco) 这两个分别是基类的构造函数,这样调用时正确的。
3 wage(w) 这个东西如果你很确定不是基类的构造函数,那么他一定是 Graduate 类里面的一个成员变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这两种写法是一样的。。。
都是给自己的成员wage赋了这个w的值。
就是一种写法习惯的问题,想用哪个就用哪个。
都是给自己的成员wage赋了这个w的值。
就是一种写法习惯的问题,想用哪个就用哪个。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
wage应该是个float型的成员变量
赋值和初始化的区别,会用初始化就用初始化,赋值跟初始化还是有区别的,如果你的wage定时成
const float wage,你用第二种赋值方法是行不通的,但是第一种初始化可以
赋值和初始化的区别,会用初始化就用初始化,赋值跟初始化还是有区别的,如果你的wage定时成
const float wage,你用第二种赋值方法是行不通的,但是第一种初始化可以
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询