C++ 重新定义继承的类方法可以被继承吗,为什么要确保与原来的原形完全相同,难道不是只需要函数名相同吗

格式:PDF ? 页数:22页 ? 上传日期: 08:55:08 ? 浏览次数:19 ? ? 400积分 ? ? 用稻壳阅读器打开

全文阅读已结束如果下载本文需要使用

该用户还上传了这些文档

1公有继承中的多态公有继承:

哆态就是同一个类方法可以被继承吗有多种行为,多种实现它的行为随上下文的不同而不同。比如父类中有一个类方法可以被继承吗func(),子類中又重新定义了一个func(),虽然名字一样但是函数行为不一样。

2实现多态的类方法可以被继承吗有两种:1)在子类中重新定义;2)在父类Φ申明虚类方法可以被继承吗,然后在子类中重新定义

3一开始我有点困惑,既然在子类中重新定义类方法可以被继承吗就可以实现多态那为什么还要有虚类方法可以被继承吗的存在呢?

1)这个例子假设父类没有定义虚类方法可以被继承吗-------

其实虚类方法可以被继承吗是这樣的:关键字virtual.如果没有虚类方法可以被继承吗,则根据指针或者引用的类型来调用类方法可以被继承吗;但是有了虚类方法可以被继承吗後呢根据指针或者引用指向的类型来选择调用谁的类方法可以被继承吗(父类的还是子类的)。

4一般来说,如果父类中定义了虚类方法可以被继承吗那就应该再定义一个虚拟析构函数。

这样只会释放childClass对象中由fatherClass 部分指向的内存而不会释放char *指向的内存。

5.友元函数不能是虛函数因为友元函数不是类的成员函数。

6如果子类重新定义了父类的类方法可以被继承吗,则应该保持原形一致

7,如果父类的声明被重载了则应该在子类中重新定义所有的父类版本;

个人认为其实protected介于public和private之间。首先在一个类的派生类中,protected跟Public成员一样可以被访问;其次对于外部世界来说,protected和private一样被隐藏

9。要明白和熟悉继承机制的使用并不是那么容易的我觉得需要大量的实际练习,类的设计很複杂加油~~~~~~~你懂么?

我要回帖

更多关于 类方法可以被继承吗 的文章

 

随机推荐