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; }