用C实现C++的多态---剖析GTK的"对象" (一)
一. 前言
前一段时间用到GTK图形库,对它的C语言实现的面像对象概念很感兴趣,在这里写下自己的一点见解,
同时也是理理自己的思路。
二. C++中的多态
class A {
virtual void output(void) { prinf("this is A/n"); }
virtual void func(void);
};
class B : public A {
void output(void) { printf("this is B/n"); }
};
A *a = new B();
大家知道,这时候调用a->output()会输出"this is B",这就是C++的多态。
这里首先要明确两个名词,对象、实例。对象就是A、B,用A或B创建出来的a称之为实例
那么ÿ