C语言模拟实现C++的继承多态
来源:互联网 发布:淘宝详情页价格 编辑:程序博客网 时间:2024/06/06 07:20
C++的三大特性:封装、继承、多态,这些是C语言没有的,C++用class类实现了这三个特性,而C语言只有struct结构体,那么,如何用C语言模拟实现C++的继承和多态呢?
我们先要清楚继承和多态的概念。
继承:允许派生类在基类原有特性的基础上扩展,增加派生类特有成员。
多态:通过虚函数指针指向虚表中不同类中的同名函数。
#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;typedef void(*Fun) ();//C语言结构体中不能包含成员函数,所以在结构体外定义函数指针struct AA{ Fun _fun; int _a;};struct BB{ AA a;//定义AA结构体对象实现继承 int _b;};void funA(){ printf("funA()\n");}void funB(){ printf("funB()\n");}int main(){ AA aa; BB bb; aa._fun = funA; bb.a._fun = funB; AA *p = &aa;//定义AA的对象指针 p->_fun(); p = (AA*)&bb;//父类指针指向子类对象 p->_fun();//实现多态 system("pause"); return 0;}
阅读全文
0 0
- C语言模拟实现C++的继承与多态
- C语言模拟实现C++的继承与多态
- C语言模拟实现C++的继承多态
- C语言模拟实现C++的继承多态
- c语言模拟实现c++的继承多态
- c语言模拟实现c++的继承和多态
- C语言模拟实现C++的继承与多态
- C语言模拟实现C++中的继承和多态
- C语言模拟实现继承和多态
- C语言模拟实现C++继承和多态
- C语言如何模拟C++实现继承和多态
- C语言模拟实现C++中的继承和多态
- 用C语言模拟实现c++的继承与多态特性
- C语言模拟实现继承、多态
- 模拟继承和多态--C语言模式实现C++继承和多态
- C语言实现继承和多态
- C语言实现继承和多态
- C语言实现继承和多态
- Qt下载地址
- 写给编程初学者
- HTML5中Web Storage本地存储
- 机器学习八 异常值
- JAVA system.exit
- C语言模拟实现C++的继承多态
- 树莓派3b配置opencv2.4.10
- 插入排序及优化
- get和post的区别
- Android源码内核设计思想读书笔记
- 读书笔记18 《麦肯锡工作法》 大岛祥誉
- bzoj 2144: 跳跳棋
- Components of Ryu
- JSON对象和JSON字符串知识总结