zoukankan      html  css  js  c++  java
  • 赋值兼容规则

    对于公有派生来说,可以将派生类的对象赋给基类的对象,反之是不可以的。
    赋值兼容性规则可以总结为4点:
    1、不允许将基类的对象赋给派生类的对象。
    2、派生类的对象可以赋给基类的对象。
    3、可将派生类的对象的指针赋给基类的指针变量。
    4、派生类对象可以初始化基类型的引用。
     
    在3、4两种情况下,使用基类的指针或引用时,只能访问从相应基类中继承来的成员,不允许访问
    其他基类的成员或在派生类中增加的成员。
     

    #include <iostream>
    class Base {
    private:
    	int val;
         char bit1; }; class Child:public Base { private: char bit2; }; int main(void) { Base base1; Base *pbase; Child child; // child = base1; //错误,不允许将基类对象赋给派生类对象。 base1 = child; //正确,派生类的对象赋给基类的对象是可以的。 pbase = &child; //正确,派生类对象的指针赋给基类对象的指针是可以的。 Base &base2 = child; //正确,派生类对象可以初始化基类类型的引用。 return 0; }
    为什么呢?

    
    
  • 相关阅读:
    java 简单封装resultMap返回对象为map
    freemarker 遍历树形菜单
    python 正则表达式
    python BeautifulSoup基本用法
    sublime中正则替换
    媒体查询
    响应式网站的优点和缺点
    响应式网站概念
    vue系列之vue-resource
    vue系列之项目打包以及优化(最新版)
  • 原文地址:https://www.cnblogs.com/helloweworld/p/2840948.html
Copyright © 2011-2022 走看看