免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 15157 | 回复: 60
打印 上一主题 下一主题

[C] 赶时髦,咱也“面向对象”................... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-28 11:52 |只看该作者 |正序浏览
  1. #include <stdio.h>

  2. #define __ struct classsuck *this

  3. typedef int (*ADD)(int a, int b);

  4. //声明"类"
  5. typedef struct classsuck {
  6.         ADD add;
  7.         struct classsuck *this;
  8. } class;

  9. int add(int a, int b)
  10. {
  11.         printf("a = %d, b = %d, a + b = %d", a, b , a + b);
  12.         return 0;
  13. }

  14. void
  15. init(__)
  16. {
  17.         this->add = add;
  18. }

  19. int
  20. main(int argc, char *argv)
  21. {
  22.         class fuckoo;//创建"对象"
  23.         fuckoo.this = &fuckoo;
  24.         init(&fuckoo);
  25.         fuckoo.add(6, 4);        //调用“类方法”
  26.         return 0;
  27. }
复制代码
env: gcc 3.4.5-mingw
os: windows 7

评分

参与人数 1可用积分 +1 收起 理由
zhujiang73 + 1

查看全部评分

论坛徽章:
3
白羊座
日期:2013-11-05 12:59:14子鼠
日期:2014-01-29 14:14:50戌狗
日期:2014-02-11 16:21:45
61 [报告]
发表于 2010-07-03 19:39 |只看该作者
“面向对象”早就不时髦了

论坛徽章:
0
60 [报告]
发表于 2010-07-02 11:16 |只看该作者
这就叫强扭的瓜不甜啊

论坛徽章:
0
59 [报告]
发表于 2010-07-02 10:54 |只看该作者
fuckoo.this = &fuckoo;
        init(&fuckoo);
这两句合并为一个宏要方便些,因为写成两行的话,使用者的出错机会要大。
只是从代码组织上讨论,可没真的支持用C语言实现OO的意思。

论坛徽章:
0
58 [报告]
发表于 2010-07-02 10:33 |只看该作者

论坛徽章:
0
57 [报告]
发表于 2010-07-02 10:29 |只看该作者
这个小程序还是很有意思的,楼主应该再修改修改,实现一个虚函数。

不过好好一个帖子,就是有人跑进来捣乱。

论坛徽章:
0
56 [报告]
发表于 2010-07-01 21:09 |只看该作者
路过

论坛徽章:
0
55 [报告]
发表于 2010-07-01 19:19 |只看该作者
回复 1# linuxlixk


哈哈,挺有意思的
赞!

论坛徽章:
0
54 [报告]
发表于 2010-07-01 14:15 |只看该作者
看看能不能回帖!?

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
53 [报告]
发表于 2010-07-01 11:42 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP