当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C语言如何实现C++ 中的类?

C语言如何实现C++ 中的类?

2018年10月03日  | 移动技术网IT编程  | 我要评论

玮铭兄弟,冷爵迫爱,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是关键字 。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网