用C实现C++的多态---剖析GTK的"对象" (一)

本文探讨了如何使用C语言实现类似于C++的多态特性,以GTK的“对象”系统为例。通过分析C++的多态机制,包括虚函数和对象实例的关系,解释了C中如何定义基类并实现虚函数,如构造函数和析构函数。
摘要由CSDN通过智能技术生成

用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称之为实例

             那么ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值