为了账号安全,请及时绑定邮箱和手机立即绑定

最新回答 / 满慕星辰
类不能直接调用对象和方法,必须实例化对象后,再用对象调用。你这一看就基础不扎实,得把前面的知识好好看看才行

最新回答 / 慕粉1026331268
保护成员只是值不能被修改,是可以直接调用的

最赞回答 / qq_慕前端0595576
这么说吧,父类中的protected:m_strName被子类继承了,但由于子类也定义了一个m_strName,这就使得父类的m_strName被隐藏,当然,父类的m_strName和子类的m_strName都在子类对象所在的空间里,要想访问父类的m_strName需要用到Person::m_strName。         父类是接口,继承来的东西也会复制到子类中,无论是soldier.m_strName还是soldier.Person::m_strName,操作的数据都是soldier对象所在空间里的...

最赞回答 / 慕斯6136978
并不是这样的,战士类中private中继承人类的数据成员,比如name,在战士中变成了private下的,所以战士类的派生类步兵类的成员函数怎么能访问到其基类的name呢,就像你父亲的私房钱是他私有的,你就不能去访问了

最赞回答 / Jaxes_Z
调用了构造函数啊,只不过调用的是拷贝构造函数,实参传值给形参就是一个拷贝的过程,而拷贝构造函数都没写内容,所以当然不显示出来,但是实际上是调用了的

最新回答 / 慕粉3177160
j=8时,s[j+1]溢出了

最赞回答 / 慕的地0332996
宏定义是解决重定义的问题,重定义就是如果在多个头文件中引用了同一个或多个头文件,编译器在编译的时候会多次编译头文件,加上宏定义使用#ifdef 来判断一下就可以避免这种情况

已采纳回答 / byrxiaochun
头文件可以被无限包含,但是不能多次编译。#ifndef  第一次时会编译该文件, 第二次由于#define了,直接跳过

最新回答 / whopperNuolan
在主函数里加p->Farmer::sow(); 和 p->Worker::carry(); 这样输出语句就执行

最新回答 / 慕粉3462047
严格意义上说的是你的意思,就是继承下的私有成员函数是隐藏的,能理解就好的了。。。

最赞回答 / qq_David尧尧_0
首先 子类中如果有跟父类中同名的成员函数,不会出现重载,会继承该成员函数,只是在调用时有区别:子类对象.同名函数   调用的是子类中自己定义的同名成员函数子类对象.父类::同名函数  调用的是继承的同名成员函数

已采纳回答 / C_can
is a”代表的是类之间的继承关系,“has a”代表的是对象和它的成员的从属关系。c++还有另一种实现has-a关系的途径----私有继承。使用私有继承,基类的公有成员和保护成员都将成为派生类的私有成员。这意味着基类方法将不会成为派生对象公有接口的一部分,但可以在派生类的成员函数中使用它们。使用公有继承,基类的公有方法将成为派生类的公有方法。简而言之,派生类将继承基类的接口,这是is-a关系的一部分。使用私有继承,基类的公有方法将成为派生类的私有方法。简而言之,派生类不能继承基类的接口。正如从被包含对象...
课程须知
本课程是C++初级课程 熟练掌握C++语言基础语法,如需要学习C++基础语法的可以看《C++远征之起航篇》、《C++远征之离港篇》、《C++远征之封装篇(上)》、《C++远征之封装篇(下)》
老师告诉你能学到什么?
1、什么是继承 2、基类和派生类的概念 3、继承的三种方式 4、多重继承和多继承 5、虚继承是怎么回事

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消