C++实现的多重继承功能简单示例
2019/7/10 22:34:54
本文主要是介绍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++实现的多重继承功能简单示例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-26怎么使用nsenter命令进入容器?-icode9专业技术文章分享
- 2024-12-26导入文件提示存在乱码,请确定使用的是UTF-8编码怎么解决?-icode9专业技术文章分享
- 2024-12-26csv文件怎么设置编码?-icode9专业技术文章分享
- 2024-12-25TypeScript基础知识详解
- 2024-12-25安卓NDK 是什么?-icode9专业技术文章分享
- 2024-12-25caddy 可以定义日志到 文件吗?-icode9专业技术文章分享
- 2024-12-25wordfence如何设置密码规则?-icode9专业技术文章分享
- 2024-12-25有哪些方法可以实现 DLL 文件路径的管理?-icode9专业技术文章分享
- 2024-12-25错误信息 "At least one element in the source array could not be cast down to the destination array-icode9专业技术文章分享
- 2024-12-25'flutter' 不是内部或外部命令,也不是可运行的程序 或批处理文件。错误信息提示什么意思?-icode9专业技术文章分享