C++: class A { public: int a1, a2; void m1(int i) { a1 = i; } void m2(int i) { a2 = a1 + i; } } =================== C: typedef struct { int a1, a2; } class_A; void m1_A(class_A *this, int i) { this->a1 = i; } void m2_A(class_A *this, int i) { this->a2 = this->a1 + i; }