我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎样讲述C++中的C++基类

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎样讲述C++中的C++基类

这篇文章给大家介绍怎样讲述C++中的C++基类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

C++语言中有一个很重要的特性:Private派生确保C++基类中的方法只能被派生类的对象的方法间接使用,而不能被外部使用,除非这些方法已经被重新定义,下面就进行详细说明。

继承是一个进程,通过继承,一个对象可以获得另一个对象的属性(包括函数),并可向其中加入属于自己的一些特征。作为C++语言的一种重要机制,用继承的方法可以自动为一个类提供来自另一个类的操作和数据结构。

进而使程序设计人员在一个一般的类的基础上很快建立一个新的类,而不必从零开始设计每个类。当一个类被其他的类继承时,被继承的类称为基类,又称为父类。继承其他类属性的类称为派生类,又称为子类。

一般情况下,继承的进程起源于一个C++基类的定义,基类定义了其所有派生类的公有属性。从本质上讲,基类具有同一类集合中的公共属性,派生类继承了这些属性,并且增加了自己特有的属性。从任何已存在的类继承的实质就是建造新的派生类。

从一个基类派生的继承称为单继承,换句话说,派生类只有一个直接C++基类。单继承声明语句的常用格式为:

class 派生类名: 访问控制关键字 基类名  {    数据成员和成员函数声明  };

与此相对地,从多个基类派生的继承称为多继承或多重继承,也就是说,一个派生类有多个直接基类。在某些面向对象的语言(如Java)中不支持类间的多重继承而只支持单重继承,即一个类至多只能有一个直接父类,因此实现类似的功能需要借助接口等其他机制。而在C++中提供了多重继承的语法支持,使得问题变得简单了许多。多重继承声明语句的常用格式为:

class 派生类名: 访问控制关键字 基类名1, 访问控制关键字 基类名2,...  {    数据成员和成员函数声明  };

除了多重继承之外,一个派生类继承多个基类还有一种方法,就是把派生类作为基类再次供别的类继承,产生多层次的继承关系。例如类A派生类B,类B派生类C,则称类A是类B的直接基类,类B是类C的直接基类,类A是类C的间接基类。

类的层次结构也叫做继承链。还是上面的例子,当建立类C的对象时,类A的构造函数***被调用,接下来被调用的是类B的构造函数,***是类C的构造函数。析构函数的调用顺序正好相反。当一个派生类继承有层次的类时,继承链上的每个派生类必须将它需要的变量传递给它的基类。

在继承声明语句中,访问控制关键字用于说明在基类定义中所声明的成员和成员函数能够在多大范围内被派生类所访问。访问控制关键字可为public, private或protected。如果访问控制关键字为public。

则称派生类从C++基类公有继承,也称公有派生。如果访问控制关键字为private,则称派生类从C++基类私有继承,也称私有派生。现在笔者将公有继承和私有继承的具体区别列表如下。

通过上表,我们可以将两种派生的特点总结如下:

基类成员基类private成员基类public成员

派生方式

privatepublicprivatepublic
派生类成员不可见不可见可见可见
外部函数不可见不可见不可见可见

关于怎样讲述C++中的C++基类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎样讲述C++中的C++基类

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎样讲述C++中的C++基类

这篇文章给大家介绍怎样讲述C++中的C++基类,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C++语言中有一个很重要的特性:Private派生确保C++基类中的方法只能被派生类的对象的方法间接使用,而不能被外部使用,除
2023-06-17

C#枚举类型的基础讲解

本篇内容主要讲解“C#枚举类型的基础讲解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#枚举类型的基础讲解”吧!对于C#枚举类型不仅可以提高程序的可读性,而且可以减少因底层值发生改变而导致的程
2023-06-18

怎样深度剖析C++中的C++类型

这期内容当中小编将会给大家带来有关怎样深度剖析C++中的C++类型,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在C++中,C++类模板不能直接使用,必须先实例化为相应的模板类,定义模板类的对象后,才可使
2023-06-17

Java和C#顶层声明概述是怎样的

Java和C#顶层声明概述是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在向大家详细介绍Java和C#顶层声明之前,首先让大家分别了解下Java中的顶层
2023-06-17

怎样解析C++中的C++变量定义

怎样解析C++中的C++变量定义,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在使用C++变量变量时,通常要把C++变量名定义为容易使用阅读和能够描述所含数据用处的名称,而
2023-06-17

c++中的基本IO类型是什么

这篇文章主要讲解了“c++中的基本IO类型是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c++中的基本IO类型是什么”吧!引言c++不直接处理输入和输出,而是通过标准库中的类型处理IO
2023-06-19

C++中的类型推断问题与解决方案概述

C++中的类型推断问题与解决方案概述引言:C++是一种静态类型的编程语言,即编译器在编译时需要确切知道每个变量的类型。然而,有时我们可能遇到类型不明确的情况,这给编程带来了一些复杂性。为了解决类型推断的问题,C++引入了auto和declt
2023-10-22

c#中的基本数据类型有哪些

c#中提供的基本数据类型包括:整型(byte、sbyte、short、ushort、int、uint、long、ulong),浮点型(float、double),其他类型(char、bool、decimal、string)。C# 中的基本数
c#中的基本数据类型有哪些
2024-04-04

C#中的HttpWebRequest类怎么用

这篇文章主要为大家展示了“C#中的HttpWebRequest类怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中的HttpWebRequest类怎么用”这篇文章吧。提供 WebRequ
2023-06-26

C++中CLI模块的基本类型有哪些

本文小编为大家详细介绍“C++中CLI模块的基本类型有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++中CLI模块的基本类型有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。数值类型对于基本的数值类型
2023-07-02

C#中的HttpWebRequest类怎么使用

这篇文章将为大家详细讲解有关C#中的HttpWebRequest类怎么使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。HttpWebRequest 是一个Http 请求类,继承于 WebRequest。
2023-06-26

C#中的backgroundWorker类怎么使用

BackgroundWorker类是C#中用于在后台执行操作的工具类。以下是使用BackgroundWorker类的常见步骤:1. 引入命名空间:```csharpusing System.ComponentModel;```2. 创建Ba
2023-08-15

C++中的拷贝构造是怎样的

这期内容当中小编将会给大家带来有关C++中的拷贝构造是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。拷贝构造函数同一个类的对象在内存中有完全相同的结构,如果作为一个整体进行复制或称拷贝是完美可行的,
2023-06-26

在C盘中的application data怎样删除

要删除C盘中的Application Data文件夹,您可以按照以下步骤进行操作:1. 打开“我的电脑”或“此电脑”。2. 在地址栏中输入“C:\”并按回车键,以打开C盘。3. 在C盘中找到“Users”(用户)文件夹,然后找到您当前使用的
2023-08-21

怎么使用C++中的string类型

这篇文章主要讲解了“怎么使用C++中的string类型”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用C++中的string类型”吧!1、string 类1.1 和char *的异同在
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录