免费注册 查看新帖 |

Chinaunix

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

[C] 在C语言中可以实现类的功能吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-19 10:36 |只看该作者 |倒序浏览
我想在C语言的结构中添加成员函数,和C++的一样。可是不知道怎样做。我大约的想法是在结构中添加函数指针,然后再写。可是不知道具体的格式如何。哪位能给一个最简单的例子给我?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-03-19 10:42 |只看该作者

在C语言中可以实现类的功能吗?

http://www.planetpdf.com/codecuts/pdfs/ooc.pdf
你参考这篇文章吧。
我也没时间看,据说很不错。

论坛徽章:
0
3 [报告]
发表于 2004-03-19 11:06 |只看该作者

在C语言中可以实现类的功能吗?

C语言的结构体里是不允许有函数的,C++的结构体里才可以定义函数,
C++的结构体和C++的类没有什么大的区别,唯一区别就是在默认情况下,C++的结构体里所有成员和数据都是公有的,而类是私有的。

论坛徽章:
0
4 [报告]
发表于 2004-03-19 11:15 |只看该作者

在C语言中可以实现类的功能吗?

C语言的结构体里是不允许有函数的,但可以有指向函数的指针
Stevens就常常这么干

论坛徽章:
0
5 [报告]
发表于 2004-03-19 11:19 |只看该作者

在C语言中可以实现类的功能吗?

我知道C语言的结构体不允许有函数,我就是想知道在C结构体里面指向函数的指针是怎样的写法,有没有最简单的例子。

论坛徽章:
0
6 [报告]
发表于 2004-03-19 11:29 |只看该作者

在C语言中可以实现类的功能吗?

struct s {
  int(*reint(int));         
};
int reint1(int);
struct s ms;
ms.reint = reint1;
语句不知道有没有错,反正就是这个意思

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2004-03-19 11:33 |只看该作者

在C语言中可以实现类的功能吗?

int(*reint(int));
改成
int(*reint)(int);

论坛徽章:
0
8 [报告]
发表于 2004-03-19 11:46 |只看该作者

在C语言中可以实现类的功能吗?

#include <stdio.h>;
typedef struct {
        int a;
        char b;
        int (*p)(int,char);
} xhl;
int test(int m_a,char m_b);

int main()
{
        xhl m_s;
        m_s.a=5;
        m_s.b='w';
        m_s.p=test;
        (*m_s.p)(m_s.a,m_s.b);
        return 0;
}

int test(int m_a,char m_b)
{
        printf("%d,%c\n",m_a,m_b);

        return 0;
}

论坛徽章:
0
9 [报告]
发表于 2004-03-19 12:10 |只看该作者

在C语言中可以实现类的功能吗?

搞定,谢谢各位。我想有空将C语言封装成和C++来玩玩,看爽不爽,呵呵

论坛徽章:
0
10 [报告]
发表于 2004-03-19 12:13 |只看该作者

在C语言中可以实现类的功能吗?

我估计你要是钻木取火来点支烟感觉会更爽,呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP