C语言实现面向对象

一、引言

面向对象编程(OOP)是一种程序设计范型,它使用“对象”来设计应用程序和系统的结构行为。虽然C语言本身并不直接支持面向对象编程,但我们可以使用结构体(struct)和 函数指针(function pointers)来模拟面向对象的一些特性,如封装、继承和多态。

二、模拟面向对象特性

封装

定义

封装是将数据和操作数据的方法  绑定在一起的一种机制。在C语言中,我们可以使用结构体来封装数据,并使用结构体中的函数指针来封装方法。

示例:

typedef struct { 
int x; 
int y; 
void (*move)(struct Point*, int, int); 
} Point; 


void movePoint(Point* self, int dx, int dy) { 
self->x += dx; 
self->y += dy; 
} 


int main() { 
Point p = {0, 0, movePoint}; 
p.move(&p, 10, 5); 
printf("(%d, %d)\n", p.x, p.y); // 输出 (10, 5) 
return 0; 
}

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值