1. 程式人生 > >C語言實現面向物件的思想

C語言實現面向物件的思想

用C語言實現面向物件的方法,面向物件的三個基本特徵,物件唯一性,繼承性,抽象性。

使用C語言中的結構體和函式指標將資料與操作放在一起,使得一個問題的解決方法封裝在結構體中。

其中結構體的巢狀使用實現了繼承性。

#include<stdio.h> #include<stdlib.h>     struct  Adt2  {     int x;     int y;     int (*imll)(int x, int y); };   struct Adt1 {     int var1;     int var2;     struct  Adt2 var3;     int (*add)(int x, int y);     int (*sub)(int x, int y); };   int add(int x,int y); int sub(int x,int y); int imll(int x, int y);   int main() {     struct Adt1 a;     a.sub = sub;     a.var3.imll = imll;     a.var1 = 21;     a.var2 = 12;     a.var3.x = 12;     a.var3.y = 13;     a.add(a.var1, a.var2);     a.sub(a.var1, a.var2);     a.var3.imll(a.var3.x,a.var3.y);     return 0; }   int imll(int x, int y) {     printf("%d * %d = %d\n",x, y, x*y);     return x*y; }   int add(int x, int y) {     printf("%d + %d = %d\n", x, y, x+y);     return x+y; }   int sub(int x, int y) {     printf("%d - %d = %d\n",x, y, x-y);     return x-y; }