C语言模式实现C++继承和多态

xiaoxiao2021-02-28  107

简单模拟下c语言实现继承与多态

typedef void(*FUN)();//函数指针 struct A { int a; int b; FUN fun; }; struct B { A _a;//B继承A }; void fA() { cout << "A" << endl; } void fB() { cout << "B" << endl; } int main() { //将A中的函数指针和B继承的A的函数指针分别指向自己所要实现的函数,所以指针指向那个对象,通过函数指针调用时就调的是自己的函数,自己函数指针已经与自己的函数绑定。 A a; B b;//分别定对象 a.fun = fA;//将自己的函数指针指向自己的函数 b._a.fun = fB; A* p = &a;//p指向a,就调用的是A的函数 p->fun(); p = (A*)&b;//指向B。调用B p->fun(); system("pause"); return 0; }
转载请注明原文地址: https://www.6miu.com/read-26349.html

最新回复(0)