为了账号安全,请及时绑定邮箱和手机立即绑定
屌丝老师注定孤独一辈子
总结下哈Migrant->Worker->Person,所以Worker处于中间称为虚基类
屌丝老师注定自己撸一辈子。。
老师的写法不规范啊,应该是#include <iostream>和#include "Person.h"
老师你这样就注孤生了。
private继承就是葵花宝典吗0.0
断子绝孙
各位的吐槽产品汪看吗?哈哈哈哈
3:20处觉得老师讲得不对,之所以打印两次~person,并不是临时变量被销毁的原因,难道不是s销毁时调用person类的析构函数吗?
2:30是本调用test1时要声明了一个person的临时变量,调用拷贝构造函数,由于视频中没有提供拷贝构造函数,所以调用默认拷贝构造函数,并无输出。
虚析构函数是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对象。
如果某个类不包含虚函数,那一般是表示它将不作为一个基类来使用。当一个类不准备作为基类使用时,使析构函数为虚一般是个坏主意。因为它会为类增加一个虚函数表,使得对象的体积翻倍,还有可能降低其可移植性。
所以基本的一条是:无故的声明虚析构函数和永远不去声明一样是错误的。实际上,很多人这样总结:当且仅当类里包含至少一个虚函数的时候才去声明虚析构函数。
抽象类是准备被用做基类的,基类必须要有一个虚析构函数,纯虚函数会产生抽象类,所以方法很简单:在想要成为抽象类的类里声明一个纯虚析构函数。
终于看到这里了,笔记和复习果然很耗时间!

已采纳回答 / leosstudio
重定义就是已经定义了又再次进行定义,父类中定义了类的一些操作并且这些操作调用的顺序进行了约定,但是子类继承后对操作的实现需要进行了更改,对其调用顺序不需要关心,这个时候就使用重定义或者覆盖的方式。
我真是服了,按个退格键就跳到上一节课去了。写的代码又要重新写。真搞不懂 怎么设计的~
我真是服了,按个回车就跳到上一节课去了。写的代码又要重新写。真搞不懂 怎么设计的~
课程须知
本课程是C++初级课程 熟练掌握C++语言基础语法,如需要学习C++基础语法的可以看《C++远征之起航篇》、《C++远征之离港篇》、《C++远征之封装篇(上)》、《C++远征之封装篇(下)》
老师告诉你能学到什么?
1、什么是继承 2、基类和派生类的概念 3、继承的三种方式 4、多重继承和多继承 5、虚继承是怎么回事

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消