Effective C++ 条款39

Effective C++ 条款39

大家好,又见面了,我是全栈君。

我从本条款中学到了下面内容:
1.private继承不同于另外两种继承,派生类对象不能隐式转换为基类对象。

例如以下代码:

class Bird//鸟
{

};

class ostrich:private Bird//鸵鸟
{

};

int main()
{
Bird *b =  new ostrich();//编译不通过,基类不能转换为派生类

}

编译器明白指出基类是不可訪问的。所以转换失败。

private继承在基类和派生类之间已经没有所谓的继承关系,之所以有它的存在纯粹是为应用层面服务,即为了编程的灵活性而存在的继承关系。

2.例如以下代码。告诉我们private调用的优点,当存在一种特殊情况时。即base class 大小为空时,调用private继承能够使派生类占领的空间大小最小化。这时有人会说我定义的类不是空,为什么大小为1个字节。这里简单解释下。不论什么一个类的大小都不为空,即使你这样定义
class m{};这个类的大小依旧为1,类的大小仅仅和变量有关。而且变量是非静态变量。静态变量不影响类的大小。

#include<string>
#include<iostream>
using namespace std;
class Bird//鸟
{
public:
    static string name;
    static string getName(){ return name; }
};

class ostrich:private Bird//鸵鸟
{

};

int main()
{
    int m1 = sizeof(Bird);//m1大小为1个字节
    int m2 = sizeof(ostrich);//m2大小也为1个字节

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116022.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月27日 上午9:00
下一篇 2022年1月27日 上午9:00


相关推荐

  • Oracle 11g RAC 搭建详细步骤[通俗易懂]

    Oracle 11g RAC 搭建详细步骤[通俗易懂]oraclerac11g安装asmudeviscsi

    2022年10月21日
    4
  • iconfont的使用方法

    iconfont的使用方法一、iconfont的使用登录http://www.iconfont.cn/阿里巴巴矢量图标库,github或微博登录 选择喜欢的图标添加入库 然后点击右侧购物车,点击最下面的‘下载代码’按钮,下载保存到本地,解压即可得到需要的文件 有三种方法使用(1)unicode引用unicode是字体在网页端最原始的应用方式,特点是:兼容性最好,支持ie6+,及所有现代浏览器。 支持…

    2025年7月16日
    5
  • mysql存储过程菜鸟教程_mysql存储过程是什么

    mysql存储过程菜鸟教程_mysql存储过程是什么本文介绍关于在MySQL存储过程游标使用实例,包括简单游标使用与游标循环跳出等方法例1、一个简单存储过程游标实例DELIMITER$$DROPPROCEDUREIFEXISTSgetUserInfo$$CREATEPROCEDUREgetUserInfo(indate_daydatetime)—-实例–存储过程名为:getUserInfo–参数为:date_day…

    2022年10月1日
    5
  • Python爬虫01——第一个小爬虫

    Python爬虫01——第一个小爬虫第一个python小程序,贴吧图片的爬取

    2022年7月3日
    19
  • python安装包镜像

    python安装包镜像清华 pipinstall ihttps pypi tuna tsinghua edu cn simple 偶尔会出现超时 豆瓣 pipinstall ihttps pypi doubanio com simple

    2026年3月18日
    1
  • ensp的dhcp配置命令(怎么配置dhcp服务器)

    DHCP动态主机配置协议,用来分配IP地址等网络参数。用户上网需要的条件:IP地址,网关,DNS…注意:除非有特殊需求会采用静态配置(员工比较多的企业)路由器、核心交换机、Linux、服务器等上面都可以配置DHCP。DHCP配置实验:dhcp第一种分配IP地址的配置方式:[Huawei]dhcpenable:在路由器上,开启DHCP功能。[Huawei]intg0/0/0ipaddress10.1.1.1进入与设备相连的接口添加物理IP[Huawei]ippool

    2022年4月18日
    101

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号