玮铭兄弟,冷爵迫爱,vpurecover
c语言如何实现c++ 中的类?
#include <stdio.h> //c 语言没有类,但可以用结构体充当一个类 //与类不同,结构体只能定义变量,不能够定义函数,可以通过函数指针的方法来实现其功能 //定义“类 ”的成员变量以及方法 typedef struct person{ char name; int age; void (*eatfunction)(struct person this, int num); }person; //定义函数功能 void eatfunction(struct person this, int num){ printf("test\n"); } //定义“类 ”的构造函数 //与面向对象不同,c语言的“类”的 构造函数不能放在“类”中,只能放在“类”外 //构造函数主要完成 变量的初始化,以及函数指针的赋值 person *newperson(person *this){ this->name = 'a'; this->age = 18; this->eatfunction = eatfunction; } //主函数调用 int main(){ person person; newperson(&person); person.eatfunction(person,0); return 0; }
注意:测试的时候要保存为.c格式,.cpp格式运行会报错,因为c++中 this是关键字 。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论