浅谈继承之默认成员函数

相信学习过C++的哥们都知道的是,C++三座大山,分别是类与对象,继承,多态,也是面向对象的三大特性。所以继承是我们学习C++所不得不面对的坎,但是,我想说的是,你真的懂继承了吗?除了隐藏,然后各自有各自的作用域以外,还有切片等知识点。其实还有一个问题,就是基类的那些函数是不能被派生类继承的。

友元函数是不能被继承的。除了友元函数呢?其实说真的,这个问题一直困扰了我大概两个多月,直到今天我感觉是拨云见日。前几个月没注意这方面,但是最近感觉特别强烈,然后我遇见了这样的一道题,如下:

说句真心话,见这道题的第一感觉,不知道你们是什么感觉,反正我是有点懵的。其实这道题难的是解释清楚每一个选项,而不是选出正确的选项,如果是选择正确的选项,一眼就可以出来。后来我也上网查了一些资料,也问了我的老师,但是我一直不理解,直到今天,我才理解。

先说构造函数,其实不止构造函数,基类的默认成员函数,个人认为是不能被继承的(网上说法不一),因为继承之后,派生类就是一个整体,与基类没有任何关系,且派生类中不包含基类,所以他不可能继承构造函数,因为如果把基类的构造函数给继承下来了,那么,此时它只能构造基类的成员变量,那么派生类扩展的那些成员变量怎么办?其余的默认成员函数同理。

所以,我个人认为是不可以继承的,想通这些,其实也就可以很好的理解隐藏,有各自的作用域这些知识了。所以,本篇文章有解答你的困惑吗?

你可能感兴趣的:(C++篇,c++)