免费注册 查看新帖 |

Chinaunix

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

Coo - C语言面向对象编程 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-03 10:07 |只看该作者 |倒序浏览
目的
----
用C语言可以方便地进行面向对象编程,可以继承、多继承、使用虚函数、基类成员
直接引用、基类整体直接引用...
实现中很少使用强制类型转换,充分利用C语言的类型检查查错。现在只在虚表初始
化中使用了强制类型转换,需要小心,以后可以改进编译器避免强制类型转换。

Compiler
--------
1. gcc
  gcc -fms-extensions
2. tcc-0.9.25.1

http://sourceforge.net/projects/coo/
email: yuanbin0@gmail.com
blog: http://blog.163.com/coo_bin/

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2010-06-03 10:27 |只看该作者
用c++不行么?嫌c++复杂可以自己定制一个c++的子集来用啊{:3_191:}

论坛徽章:
0
3 [报告]
发表于 2010-06-03 10:39 |只看该作者
很多程序员仍然在用C
我只是再送给他们一件趁手的兵器
举个简单例子,先看C++的:
class CBase
{
public:
    int a;
};
class CThis : public CBase
{
public:
    int b;
};
CThis t;
t.a=1;
CBase* p=&t;

下面是Coo的:
#include "coo.h"
typedef struct CBase
{
    int a;
} CBase;
typedef struct CThis
{
    EXTENDS(CBase) //继承
    int b;
} CThis;
CThis t;
t.a=1;        //基类成员直接引用
CBase* p=&t.CBase; //基类整体直接引用

论坛徽章:
0
4 [报告]
发表于 2010-06-03 10:46 |只看该作者
我就不说啥了,二楼替我说了。

论坛徽章:
24
狮子座
日期:2013-12-31 10:48:0015-16赛季CBA联赛之吉林
日期:2016-04-18 14:43:1015-16赛季CBA联赛之北控
日期:2016-05-18 15:01:4415-16赛季CBA联赛之上海
日期:2016-06-22 18:00:1315-16赛季CBA联赛之八一
日期:2016-06-25 11:02:2215-16赛季CBA联赛之佛山
日期:2016-08-17 22:48:2615-16赛季CBA联赛之福建
日期:2016-12-27 22:39:272016科比退役纪念章
日期:2017-02-08 23:49:4315-16赛季CBA联赛之八一
日期:2017-02-16 01:05:3415-16赛季CBA联赛之山东
日期:2017-02-22 15:34:5615-16赛季CBA联赛之上海
日期:2017-11-25 16:17:5015-16赛季CBA联赛之四川
日期:2016-01-17 18:38:37
5 [报告]
发表于 2010-06-03 10:50 |只看该作者
回复 3# pan_0326


    EXTENDS 是如何实现的?

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
6 [报告]
发表于 2010-06-03 10:55 |只看该作者
哥们还是用C++吧。

论坛徽章:
0
7 [报告]
发表于 2010-06-03 10:55 |只看该作者
这里C和C++不分版,Coo是提供给C程序员的
C++是很强大的语言,Coo不是来挑战的

论坛徽章:
0
8 [报告]
发表于 2010-06-03 11:01 |只看该作者
只要不是内存非常局限的系统,想OO没必要坚持用C吧。如果是内存非常局限的系统,不认为OO或非OO对达成开发目标会有多大区别,个人觉得不用OO甚至还会好些。
楼主的作品定位是给那些人用的?

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:45
9 [报告]
发表于 2010-06-03 11:04 |只看该作者
回复 7# pan_0326


    不是挑战的意思,而是完全没有必要。如果需要继承,多态那些,把从c++中选择一个子集就行了。况且c++兼容大部分c语言,把现有的c程序稍微修改一下就可以用c++编译器来编译。

论坛徽章:
0
10 [报告]
发表于 2010-06-03 11:04 |只看该作者
用c语言实现c++的功能还不如用c++.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP