大家好,我是阿林。今天我分享的关于c++中继承的关系。

在学c++的继承的时候你是否会因为继承的关系而困扰呢。希望这篇博客对你有所帮助。

首先我们理清继承的关系,就是看继承父类的元素是否能在子类中访问、在类外例如main()中直接访问。

我总结了三个步骤:
     判断某一句话,能否被访问
     (1) 看调用语句,这句话写在子类的内部、外部
     (2) 看子类如何从父类继承(public、private、protected)
     (3) 看父类中的访问级别(public、private、protected)

我举个例子,并做一个形象的说明。

class Parent
{
public:
    int a; //相当于老爹的名字  这个元素在子类是可以访问的。当能否能在外部访问就要看子类的继                 承方式了,如果子类将老爹的名字保护起来protected 那就只能是他的家族使用,如果是                 私有继承private,那就只能它自己使用,如果是公开继承public那么就是大家都可以使用

protected:
    int b;//老爹的密码  老爹的密码是可以被儿子使用的但不可以在外界使用。
private:
    int c;//老爹的情人  儿子是不可以使用老爹的情人,所以儿子是没有访问的权利的。

public:
    void printT()
    {
        cout << "printT" << endl;
    }
};

我举的这个例子是比较通俗易懂,现在我们来看看官方的话。

//public 修饰成员变量 方法 在父类的内部 子类的内外外部都能使用
//protectd: 修饰的成员变量方法,在父类的内部,在继承
//private: 修饰的成员变量的方法 只能在父类的内部使用 不能在父类的外部使用

//protected 关键字 修饰的成员变量和成员函数是为了在家族中使用的。,是为了继承

最后我们用代码去测试一下效果。看那些可以访问,那些不可以访问

#include <iostream>using namespace std;//这是统一用public的方式去继承。
//public 修饰成员变量 方法 在父类的内部 子类的内外外部都能使用
//protectd: 修饰的成员变量方法,在父类的内部,在继承
//private: 修饰的成员变量的方法 只能在父类的内部使用 不能在父类的外部使用//protected 关键字 修饰的成员变量和成员函数是为了在家族中使用的。,是为了继承
class Parent
{
public:int a; //老爹的名字 protected:int b;//老爹的密码
private:int c;//老爹的情人public:void printT(){cout << "printT" << endl;}
};//公有继承
class Child :public Parent
{
public:void usrVar(){a = 0;//okb = 0;//ok//c = 0;//err}
protected:
private:};//私有继承
class Child2 :private Parent
{
public:void usrVar(){a = 0;//okb = 0;//ok//c = 0;//err}
protected:
private:};//保护继承
class Child3 :protected Parent
{
public:void usrVar(){a = 0;//okb = 0;//ok //b在这里 写在了子类Child3的内部 2看为protect 3 密码===》protected//c = 0;//err}
protected:
private:};
/*
C++的继承方式(public、private、protected)会影响子类的对外访问属性判断某一句话,能否被访问(1) 看调用语句,这句话写在子类的内部、外部(2) 看子类如何从父类继承(public、private、protected)(3) 看父类中的访问级别(public、private、protected)*/int main0201()
{Parent t1, t2;t1.a = 10; //ok//t1.b = 20;//err//t2.c = 30;//errsystem("pause");return 0;
}int main0202()
{Child3 c3;c3.a = 10;//errc3.b = 20;//errc3.c = 30;//errsystem("pause");return 0;
}

C++day06 继承的关系相关推荐

  1. 一步一步学Linq to sql(八):继承与关系

    论坛表结构 为了演示继承与关系,我们创建一个论坛数据库,在数据库中创建三个表: 1.  论坛版块分类表 dbo.Categories: 字段名 字段类型 可空 备注 CategoryID int no ...

  2. Hibernate→HQL、query.list()返回数据类型、查询相关语句、分页、原生SQL、@注解、持久化对象状态及生命周期、一多关系、继承映射关系、逆向工程

    HQL Query实例与表 session通用工具类 Query对象 from 类→List<类>接收 映射类 仅查询商品 查询商品及所在商家 别名 返回数据类型定义 Iterator接收 ...

  3. 继承连接关系的四叉树地图

    继承连接关系的四叉树地图 继承连接关系的四叉树地图 树节点 边的继承 结果 继承连接关系的四叉树地图 四叉树.八叉树是一种高效的管理二维.三维空间的数据结构,本博客将从一组二维点云出发,简述继承连接关 ...

  4. hibernate的3种继承映射关系总结——TPH,TPS,TPC

    Java类中有继承关系,相应的在hibernate中,也有继承关系,子类反应到数据库中,就有多种实现形式了,子类和父类可以映射到同一张表中,子类也可以单独映射成一张表,但是用不同的标签实现,子类表和父 ...

  5. JAVA day06 继承,super,方法的重写,抽象类

    1.继承(extends) 继承涉及到两个类,子类(扩展类/衍生类)跟父类(基类/超类) 当多个类中存在相同属性和行为时,将这些内容单独提取到一个类,那么多个类里就不用再定义这些属性和行为了,只要继承 ...

  6. 继承映射关系 TPH、TPT、TPCEntityFramework6.0

    每个类型一张表[TPT] 声明方式 public class Business{[Key]public int BusinessId { get; protected set; }public str ...

  7. 泛型与继承的关系,通配符

    1 若类A是类B的子类,那么List<A>就不是List<B>的子接口 2 通配符:List[A],List[B]...都是List<?>的子类 extends A ...

  8. 【Java 继承】了解Java类的继承的特点,继承的关系,继承的使用,到底什么是继承?

    博主:_LJaXi Or 東方幻想郷 专栏: Java | 从入门到入坟 Java 继承 继承的特点 \ 介绍 ❓ 特点 ♊ 继承的使用方式

  9. Hibernate中的Entity类之间的继承关系之一MappedSuperclass

    在hibernate中,Entity类可以继承Entity类或非Entity类.但是,关系数据库表之间不存在继承的关系.那么在Entity类之间的继承关系,在数据库表中如何表示呢? Hibernate ...

最新文章

  1. 后处理安装_分享UG后处理出Excel程序单的方法
  2. linux 文件截取
  3. Python实现生成一个单词的圆形词云
  4. [Python图像处理] 二十.图像量化处理和采样处理及局部马赛克特效
  5. Not using the local TSLint version found for XXX
  6. opencv函数findcontours_OpenCV系列之轮廓入门 | 二十一
  7. 【C语言进阶深度学习记录】十四 C语言中 三目运算符和逗号表达式
  8. 山东2021高考成绩查询时间二本,山东二本录取结果什么时候出来,2021年高考山东二本录取结果查询时间...
  9. 计算机科学与技术专题,专题四 计算机科学与应用技术.ppt
  10. xargs命令_Linux xargs命令:一个给其他命令传递参数的过滤器
  11. python js 性能_Python Json使用,Json库性能测试
  12. 一条长为L的绳子,一面靠墙,另外三边组成矩形,问此矩形最大面积能是多少?...
  13. kali linux 2019.1 替换burpsuite pro 1.7.37
  14. 第一个python程序-判断登陆用户名和密码是否正确
  15. Google退出中国
  16. 一个完整的计算机系统五个基本部分组成,一个完整的计算机系统
  17. 卡口和电子警察的区别
  18. 台式计算机硬盘的尺寸通常为多少英寸,电脑硬件参数之硬盘
  19. python内置函数返回元素个数_Python内置函数
  20. 友价内核房产交易系统整站源码

热门文章

  1. 趣链科技张帅:多种技术交叉融合助推区块链应用开拓全新局面 | FBEC 2019专访...
  2. 【干货】机器学习中的五种回归模型及其优缺点
  3. <BUGKU>需要管理员
  4. 虚拟机ping不通网关之大坑
  5. mysql-审计功能
  6. 转载]冰血大哥的一篇学习计划
  7. 计数计量单位KMGTPEZY【计算机】【天文】
  8. 人工智能发展简史——未来是属于AI人工智能的。
  9. 设计模式之代理模式(静态代理、Java动态代理、Cglib动态代理)
  10. 软件外包公司的入职须知