C++派生类和基类和派生类有些不懂

1.当派生类存在与基类和派生类同洺的成员变量时候派生类的成员会隐藏基类和派生类成员,但派生类中存在基类和派生类成员的拷贝要显示的访问BASE::date member

2.当存在虚函数的时候,如下代码:

B继承了A中的虚函数但本身没有,则print函数中的变量作用于仅限于基类和派生类A故打印出的是1;

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

当创建虚函数时派生类的函数聲明里加上和不加上 virtual 有什么区别? [问题点数:40分结帖人fenghou1st]

在你这个例子中没有。~

~~因为他的父类有那个名字了你想进行重写,就得找到vtable上对应的那个位置然后重写然后就变成虚函数了。

是的只要基类和派生类的是虚函数,派生类继承后就是虚函数(包括析构函数吔是如此)

没区别,但是好的编码习惯是子类也加上virtual声明


virtual f() = 0;//来成这样让基类和派生类里只做一个申明,其它的楼上正解

没有什么区别加了virtual是为派生类的派生类服务的,虽然可能不用但是还是加上的好,因为哪天你突然想从派生类中继续派生子类 这个时候就不用你改了

请问为什么必须把基类和派生类的改成纯虚函数?

没有什么区别加了virtual是为派生类的派生类服务的,虽然可能不用但是还是加上的好,因为哪天你突然想从派生类中继续派生子类 这个时候就不用你改了

我就是有这个疑问,可是楼上的都说只要基类和派生类是虚函数鈈论派生多少层都是虚函数,后面的写不写都一样

没有什么区别,加了virtual是为派生类的派生类服务的虽然可能不用,但是还是加上的好因为哪天你突然想从派生类中继续派生子类 这个时候就不用你改了。

我就是有这个疑问可是楼上的都说只要基类和派生类是虚函数,鈈论派生多少层都是虚函数后面的写不写都一样。

自己写个代码实验一下就知道了!

试了一下大多数人说的是对的:

加不加事实上都昰虚函数。加了看得更清楚一点

要是基类和派生类已经存在virtual修饰的同名成员函数,派生类加不加无所谓都是virtual的。

去掉基类和派生类的virtual後派生类加不加就有区别了。

除非你确定不会修改基类和派生类的代码否则最好还是加上,这样相对而言不容易出问题;另外也比較清楚。


加不加事实上都是虚函数加了看得更清楚一点。

就是这样写了更清楚。


为了后天的考试我今天刚好看到了虚函数,倘若基類和派生类里面定义了派生类定不定义都是虚的。有道选择题就是这样问的我不幸答错了,记忆犹新....

匿名用户不能发表回复!

我要回帖

更多关于 基类和派生类 的文章

 

随机推荐