c++基础语法:普通继承

1、首先说一下类的成员函数或者成员变量的3个属性:
public:
    对于对象和成员函数都是可见的,即可以引用
protected: 对于成员函数是可见的,但对于对象来说是不可见的,这个声明主要是用在继承 中,下面将讨论
private:   对于成员函数是可见的,对于对象是不可见的

2、然后看一下继承方式:

基类成员关键字            派生类继承方式        派生类对基类成员访问权限
public                    public                相当于使用了public关键字
                          protected             相当于使用了procted关键字
                          private               相当于使用了private关键字

protected                 protected             相当于使用了procted关键字
                          protected             相当于使用了procted关键字
                          private               相当于使用了private关键字

private                   public                相当于使用了private关键字
                          protected             相当于使用了private关键字
                          private               相当于使用了private关键字

有几个要注意的:基类成员的private成员不但对于对象是不可见的,对于派生类也是不可见的,只能被基类成员或者友元访问; procted成员实际对对象来说它就是私有的,只是在继承的时候和私有不同,派生类成员能访问基类的procted成员;protected和 private继承在实际编程中用得很少,主要还是在理论分析中使用;

PS:在这里说的对象实际上说的是由类声明的变量,在类内部定义的类是能够访问外部类的私有成员的;而且类内部定义的变量也可以访问类的私有成员的;

(0)

相关推荐

  • c++基础语法:构造函数与析构函数

    说实话c++还是以前在学校的时候用过的,从毕业到现在一直用c嵌入式编程,现在重新搬出C++语法 ,如果理解上有错误的地方,还请路过的朋友多指正--- 构造函数用来构造一个对象,主要完成一些初始化工作,如果类中不提供构造函数,编译器会默认的提供一个默认构造函数(参数为空的构造函数就是默认构造函数) :析构函数是隐式调用的,delete对象时候会自动调用完成对象的清理工作. 现在主要看看继承中的构造函数和析构函数的调用: 复制代码 代码如下: class  A {} :class  B : publ

  • C++入门之基础语法学习教程

    C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互.现在让我们简要地看一下什么是类.对象,方法.即时变量. 对象 - 对象具有状态和行为.例如:一只狗的状态 - 颜色.名称.品种,行为 - 摇动.叫唤.吃.对象是类的实例. 类 - 类可以定义为描述对象行为/状态的模板/蓝图. 方法 - 从基本上说,一个方法表示一种行为.一个类可以包含多个方法.可以在方法中写入逻辑.操作数据以及执行所有的动作. 即时变量 - 每个对象都有其独特的即时变量.对象的状态是由这些即时变量的值创建的.

  • C++类基本语法实例分析

    类是C++程序设计非常重要的概念,本文即以实例形式说明了类的常见用法.具体如下: 本测试代码主要包括以下内容: (1)如何使用构造函数: (2)默认构造函数: (3)对象间赋值: (4)const使用语法: (5)定义类常量: 一种方法是用enum,另一种方法是使用static. 实例代码如下: #include <iostream> using namespace std; enum sexType { MAN, WOMAN }; class Human { //the default is

  • c++基础语法:虚继承

    虚继承 的概念的提出主要是为了解决C++多继承的问题,举个最简单的例子: 复制代码 代码如下: class animal{        public :              void op()                  {cout << "hello animal" ;} };class tiger : public animal {        public :              void tg()                  {cout

  • C++ namespace相关语法实例分析

    namespace命名空间是C++中一个非常重要的概念,本文实例展示了namespace的相关语法,供大家参考.具体如下: 本段测试代码包括如下内容: (1) 如何访问namespace中声明的名称: (2) namespace导致的相关冲突: (3) namespace可嵌套: (4) 可以在namespace中使用using声明和using编译命令: (5) 未命名的namespace:其作用域为定义该namespace所在的声明区域.C++推荐用来替代static定义静态变量. 具体程序代

  • 浅谈C++的语句语法与强制数据类型转换

    一个程序包含一个或多个程序单位(每个程序单位构成一个程序文件).每一个程序单位由以下几个部分组成: 预处理命令.如#include命令和#define命令. 声明部分.例如对数据类型和函数的声明,以及对变量的定义. 函数.包括函数首部和函数体,在函数体中可以包含若干声明语句和执行语句. 如下面是一个完整的C++程序: #include <iostream>//预处理命令 using namespace std; //在函数之外的声明部分 int a=3; //在函数之外的声明部分 int ma

  • c++基础语法:构造函数初始化列表

    C++为类中提供类成员的初始化列表 类对象的构造 顺序是这样的:1.分配内存,调用构造函数 时,隐式/显示的初始化各数据 成员2.进入构造函数后在构造函数中执行一般计算 使用初始化列表有两个原因: 1.必须这样做:如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,而没有默认构造函数,这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数,如果没有初始化列表,那么他将无法完成第一步,就会报错. 复制代码 代码如下: class  ABC  .

  • c++基础语法:普通继承

    1.首先说一下类的成员函数或者成员变量的3个属性:public:    对于对象和成员函数都是可见的,即可以引用protected: 对于成员函数是可见的,但对于对象来说是不可见的,这个声明主要是用在继承 中,下面将讨论private:   对于成员函数是可见的,对于对象是不可见的 2.然后看一下继承方式: 基类成员关键字            派生类继承方式        派生类对基类成员访问权限public                    public                相

  • Java 基础语法之解析 Java 的包和继承

    目录 一.包 1. 概念 2. 使用方式 3. 静态导入 4. 创建包 5. 包的访问权限 6. 常见的系统包 二.继承 1. 概念 2. 语法规则(含 super 使用) 3. protected 关键字 4. 更复杂的继承关系 5. final 关键字 三.组合 四.总结(含谜底) 一.包 1. 概念 根据定义:包是组织类的一种方式 那么为什么要组织类呢? 简单来讲就是保证类的唯一性,就比如在以后的工作中,如果大家一起开发一个项目,大家可能在自己的代码中都写到了一个 Test 类,而如果出现

  • 温习Javascript基础语法之词法结构

    前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javascript工程师.前端入门容易精通难,说的是前端,更指的是javascript.本文是javascript基础语法的第一篇--词法结构 与java关系 关于javascript有这样一个说法,java和javascript的关系是雷锋和雷锋塔的关系.那到底有没有关系呢 javascript最开始的名字

  • Scala函数式编程专题--scala基础语法介绍

    上次我们介绍了函数式编程的好处,并使用scala写了一个小小的例子帮助大家理解,从这里开始我将真正开始介绍scala编程的一些内容. 这里会先重点介绍scala的一些语法.当然,这里是假设你有一些java或者python的基础,毕竟大部分人不会将scala当作第一门学习编程的语言. 不过这些语法知识记不住也没关系,本身语法这种东西就应该在使用中被记住.这里写这篇的目的也只是梳理一遍,方便大家对语法有个初步的印象,后面可以随时查询. PS:所使用的版本是scala 2.11.8,那我们开始吧 一.

  • Python入门之基础语法详解

    一.我的经历及目标 在学习python之前:我学习过C/C++,在学校期间做过很多的项目,已经有两年多了,算是对C/C++非常的熟悉了,精通不敢说,但是对于面向过程和面向对象有很深刻的认识,做过很多的开发,学习数据库,MFC, QT, linux下利用C/C++进行服务器的开发,QT环境下进行模拟QQ的开发- 听说python挺火的,我也来尝试一门新的语言,python和c有80%的相似性,毕竟是用C来开发的语言,但是是面向过程的一门语言,有C++的继承等相似的特性,感觉更有信心学会它了,毕竟可

  • Java 基础语法让你弄懂类和对象

    目录 Java 基础语法 一.类与对象的初步认知 二.类和类的实例化 三.类的成员 1. 字段/属性/成员变量 2. 方法 3. static 关键字 四.封装 1. private 实现封装 2. getter 和 setter 方法 五.构造方法 1. 基本语法 2. this 关键字 六.认识代码块 1. 什么是代码块 2. 本地代码块 3. 实例代码块 4. 静态代码块 七.补充说明 1. toString 方法 2. 匿名对象 八.总结 Java 基础语法 其实在学习 C 语言时就一直

  • Go语言基础语法之结构体及方法详解

    结构体类型可以用来保存不同类型的数据,也可以通过方法的形式来声明它的行为.本文将介绍go语言中的结构体和方法,以及"继承"的实现方法. 结构体类型 结构体类型(struct)在go语言中具有重要地位,它是实现go语言面向对象编程的重要工具.go语言中没有类的概念,可以使用结构体实现类似的功能,传统的OOP(Object-Oriented Programming)思想中的继承在go中可以通过嵌入字段的方式实现. 结构体的声明与定义: // 使用关键字 type 和 struct 定义名字

  • Java 基础语法 异常处理

    目录 1. 异常的背景 1.1 邂逅异常 1.2 异常和错误 1.3 Java 异常的体系(含体系图) 1.4 异常的核心思想 1.5 异常的好处 2. 异常的基本用法 2.1 捕获异常 2.1.1 基本语法 2.1.2 示例一 2.1.3 示例二(含使用调用栈) 2.1.4 示例三(可以使用多个 catch 捕获不同的异常) 2.1.5 示例四(可以使用一个 catch 捕获所有异常,不推荐) 2.1.6 示例五(使用 finally,它之间的代码将在 try 语句后执行) 2.1.7 示例六

  • 分享Typescript的13个基础语法

    目录 一.Ts是什么 二. 基本语法 1.声明原始数据类型 2.声明Object类型 2.1声明数组类型 2.2声明元组类型 3.声明枚举类型 4.函数参数与返回类型 5.任意类型 6.类型断言 7.接口基本使用 8.类基本使用 9.类的访问修饰符 10.类只读属性 11.类与接口 12.抽象类 13.泛型 一.Ts是什么 首先,强类型不允许随意的隐式类型转换,而弱类型是允许的.JavaScript就是经典的弱类型语言.而Typescript可以说是JavaScript的超集,在JS的基础上新增

随机推荐