1.概要
c语言面向对象实验,真实的业务往往是,一些函数和一些数据的处理是紧密联系的,可以帮到一起的。面向对象的兴起也是因此而起。
那么老的项目如何封装呢,其实本质上就是一系列的函数都传入一个结果体就好了,相当于c++的this指针。
我用结构体做了一个简单的模仿,如下:
2.代码
#include <iostream>
struct MyStruct {
int data;
void (*func)(int);
void (*func2)(MyStruct*);
};
void myFunction(int x) {
printf("%d\n", x);
}
void myFunction2(MyStruct* my) {
printf("%d\n", my->data);
}
int main()
{
struct MyStruct s = { 5, myFunction,myFunction2 };
//s.func(s.data); // Outputs 5
s.func2(&s);
std::cout << "Hello World!\n";
}
3.运行结果
5
Hello World!