C++实现的多重继承功能简单示例

 更新时间:2018年05月15日 10:19:31   作者:潜水的飞鱼baby  
这篇文章主要介绍了C++实现的多重继承功能,结合简单实例形式分析了C++面向对象程序设计中类的定义与继承相关操作实现技巧,需要的朋友可以参考下

本文实例讲述了C++实现的多重继承功能。分享给大家供大家参考,具体如下:

多重继承

1. 多重继承即一个类继承了多个基类的属性。

2. 多重继承下派生类的构造函数必须同时负责所有基类构造函数的调用,

3. 派生类构造函数的参数个数,必须满足多个基类初始化的需要。

4. 在多重继承下,当建立派生类对象时,系统首先调用各个基类的构造函数,调用顺序与定义派生类时指定的基类顺序一致。

多重继承范例:

#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class A 
{
  private:
  float fa;
  public:
  A(float a = 0) 
  {
    fa = a;
  }
  float getdata() 
  {
    return fa;
  }
};
class B 
{
  private:
  float fb;
  public:
  B(float b = 0) 
  {
    fb = b;
  }
  float getdata() 
  {
    return fb;
  }
};
class C:public A,public B 
{
  public:
  C(int a=0,int b=0):A(a),B(b) 
  {
  }
  int sum() 
  {
    return A::getdata()+B::getdata();
  }
};
int main(int argc, char** argv) 
{
  class C c1(12,23);
  class A *a1;
  a1 = &c1;//指向派生类的基类指针
  //std::cout << c1.getdata() << std::endl; 此时有二义性的问题
  std::cout << a1->getdata() << std::endl;
  std::cout << c1.B::getdata() << std::endl;
  std::cout << c1.A::getdata() << std::endl;
  return 0;
}

输出:

12
23
12

希望本文所述对大家C++程序设计有所帮助。

相关文章

  • C语言字符串安全查找的三种方式详解

    C语言字符串安全查找的三种方式详解

    C语言开发中,字符串操作是安全漏洞的重灾区,传统函数缺乏边界检查,若输入字符串未正确以\0结尾,极易触发缓冲区溢出,导致程序崩溃或被恶意利用,所以本文给大家介绍了C语言字符串安全查找的三种方式,并作了详细的分析,需要的朋友可以参考下
    2025-10-10
  • C++使用ZLIB库实现目录压缩与解压功能

    C++使用ZLIB库实现目录压缩与解压功能

    在软件开发和数据处理中,对数据进行高效的压缩和解压缩是一项重要的任务,这不仅有助于减小数据在网络传输和存储中的占用空间,还能提高系统的性能和响应速度,本文将介绍如何使用 zlib 库进行数据的压缩和解压缩,以及如何保存和读取压缩后的文件
    2025-02-02
  • Matlab绘制雨云图的方法详解

    Matlab绘制雨云图的方法详解

    这篇文章主要介绍了如何利用Matlab实现雨云图的绘制,文中的示例代码讲解详细,对我们学习Matlab有一定的帮助,需要的可以参考一下
    2022-05-05
  • C++实现旋转数组的二分查找

    C++实现旋转数组的二分查找

    这篇文章主要介绍了C++实现旋转数组的二分查找方法,涉及数组的操作,有值得借鉴的技巧,需要的朋友可以参考下
    2014-09-09
  • C语言中的强符号和弱符号介绍

    C语言中的强符号和弱符号介绍

    这篇文章主要介绍了C语言中的强符号和弱符号介绍,本文用多个实例来讲解强符号和弱符号,需要的朋友可以参考下
    2015-03-03
  • 解析sizeof, strlen, 指针以及数组作为函数参数的应用

    解析sizeof, strlen, 指针以及数组作为函数参数的应用

    本篇文章是对sizeof, strlen, 指针以及数组作为函数参数的应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 超级详细讲解C++中的多态

    超级详细讲解C++中的多态

    多态是在不同继承关系的类对象,去调同一函数,产生了不同的行为,下面这篇文章主要给大家介绍了关于C++中多态的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • C语言中你不知道的隐式类型转换规则详解

    C语言中你不知道的隐式类型转换规则详解

    在C语言中,类型转换的方式一般可分为隐式类型转换和显示类型转换(也称为强制类型转换),其中隐式类型转换由编译器自动进行,不需要程序员干预,本文给大家详细介绍了C语言中隐式类型转换规则,需要的朋友可以参考下
    2024-01-01
  • C语言进阶教程之循环语句缺陷详析

    C语言进阶教程之循环语句缺陷详析

    循环语句是用于重复执行某条语句(循环体)的语句,它包含一个控制表达式,每循环执行一次都要对控制表达式进行判断,如果表达式为真,则继续执行循环,这篇文章主要给大家介绍了关于C语言进阶教程之循环语句缺陷的相关资料,需要的朋友可以参考下
    2021-08-08
  • 关于C++的.cpp文件运行全过程

    关于C++的.cpp文件运行全过程

    这篇文章主要介绍了C++的.cpp文件运行全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02

最新评论