xiaoye 发表于 2016-1-17 00:45:45

Antergone 发表于 2016-1-16 22:26 static/image/common/back.gif
额,楼主看了你的代码,我要以一个程序员的角度来告诉你几个问题。
1.C语言 不需要方法申明也可以实现。但 ...

结构体里面不能写函数,通过函数内嵌结构体,这样相当将上面的两个变量变相定义了,求思路

xiaoye 发表于 2016-1-17 00:46:17

xiaoye 发表于 2016-1-17 00:33 static/image/common/back.gif
楼上也说了,可以通过结构体实现类,我去,早知道用结构体写好了,泪奔。这样更加接近类
...

这方法貌似行不通

冰琥珀 发表于 2016-1-17 01:17:40

#include "stdafx.h"

struct OPPClass{

        int a;
        int b;
        int rootB(int a, int b);
};

int OPPClass::rootB(int a, int b)
{
        return a + b;
}

int _tmain(int argc, _TCHAR* argv[])
{
        OPPClass *pObj = new OPPClass;
        printf("result = %d\n", pObj->rootB(1, 2));
        delete pObj;
        return 0;
}

xiaoye 发表于 2016-1-17 01:30:17

冰琥珀 发表于 2016-1-17 01:17 static/image/common/back.gif
#include "stdafx.h"

struct OPPClass{

明天试试。明天我改改

Antergone 发表于 2016-1-17 03:50:56

冰琥珀 发表于 2016-1-17 01:17
#include "stdafx.h"

struct OPPClass{


这是 vc吧? _tmain 我记得是个宏

Antergone 发表于 2016-1-17 03:53:35

本帖最后由 Antergone 于 2016-1-17 03:58 编辑

xiaoye 发表于 2016-1-17 01:30
明天试试。明天我改改

函数指针也能做到啊
#include "stdio.h"
struct TEST
{
        int x,y;
        int (*func)(int,int);
};
int add(int x,int y)
{
        return x+y;
}
int main(int argc, char const *argv[])
{
        struct TEST test;
        test.func=&add;
        printf("func(1,2)=%d",test.func(1,2));
        return 0;
}

Antergone 发表于 2016-1-17 03:58:04

冰琥珀 发表于 2016-1-17 01:17
#include "stdafx.h"

struct OPPClass{


你这个不是C吧,这么写是C++的写法了

冰琥珀 发表于 2016-1-17 10:23:39

本帖最后由 冰琥珀 于 2016-1-17 10:38 编辑

Antergone 发表于 2016-1-17 03:58
你这个不是C吧,这么写是C++的写法了

在VS下编译的,应该那玩意兼容C++了,在linux下用gcc编译不通过,不过函数指针是可行的

xiaoye 发表于 2016-1-17 11:09:13

Antergone 发表于 2016-1-17 03:58 static/image/common/back.gif
你这个不是C吧,这么写是C++的写法了

c++的

xiaoye 发表于 2016-1-17 11:10:48

Antergone 发表于 2016-1-17 03:53 static/image/common/back.gif
函数指针也能做到啊
#include "stdio.h"
struct TEST

厉害厉害,涨知识了
页: 1 2 [3]
查看完整版本: java心得,2016年1月20日10:42:23再次修正,