- 論壇徽章:
- 0
|
不知道是否在挖墳,我網(wǎng)上搜了下,似乎很多還是沒有解釋清楚,尤其是c的結(jié)構(gòu)體和cpp的類。
可以找到這樣的代碼:
- #include <stdio.h>
- //幾個用于測試的函數(shù)
- int max(int a, int b)
- {
- return a>b?a:b;
- }
- int min(int a, int b)
- {
- return a<b?a:b;
- }
- //結(jié)構(gòu)體
- struct func
- {
- int (*max)(int, int);//函數(shù)指針
- int (*min)(int, int);
- };
- typedef struct func func; //添加別名
- void init(func *data)
- {
- data->max = max;//初始化函數(shù)指針
- data->min = min;
- }
- int main()
- {
- int a, b;
- func test;
-
- init(&test); //初始化,你可以說它是構(gòu)造函數(shù)
-
- a = test.max(100, 215);
- b = test.min(64, 42);
-
- printf("result:\nmax: %d\nmin: %d\n", a, b);
- return 0;
- }
復(fù)制代碼 我覺得我們完全有理由認(rèn)為這樣實現(xiàn)了oo,當(dāng)然還可以通過結(jié)構(gòu)體的拷貝實現(xiàn)繼承。。至于多態(tài)和重載,都可以用參數(shù)判斷的方式實現(xiàn)。
鄙人cpp學(xué)藝不精,多oo的理解也很粗鄙,還望賜教。。 |
|