关于typedef class

wxjiao 2009-04-16 10:49:12
在一段程序代码中看到
typedef class FLBase FLBase;
怎么有两个同样的FLBase,有点迷惑
...全文
677 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qwe670330320 2011-12-10
  • 打赏
  • 举报
回复
如果给类用typedef定义一个数组别名呢?
为何试的是报错,说的是不成功
qqlpp 2009-04-16
  • 打赏
  • 举报
回复
帮顶
hndth 2009-04-16
  • 打赏
  • 举报
回复
帮顶
影子LEON 2009-04-16
  • 打赏
  • 举报
回复
typedef struct s
{

}s;
MS还能省点代码

typedef class FLBase FLBase;
感觉没啥用处呀
sherrik 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 coverallwangp 的回复:]
就是将class FLBase用 FLBase代替,不过我觉得这种替换没有啥作用。下面的程序供你参考
[/Quote]
顶 struct 和class都可以 不过没用typedef 声明一个类的时候

#include <iostream>
using namespace std;
struct a{
//
};
class b{
//
};
int main()
{
struct a aa;
b bb;
}

用了typedef struct a a;就可以直接用a aa;声明了
子晞 2009-04-16
  • 打赏
  • 举报
回复
其实就是数据类的别名,你定义了一个类就相当于一个数据类型,别名可以和类名相同而已。

#include <iostream>
using namespace std;
class A
{
public:
void a(){cout << "aa" << endl;};

};
typedef class A A;


int main()
{

A a;
class A b;
b.a();
a.a();
return 0;
}
bfhtian 2009-04-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 wxjiao 的帖子:]
在一段程序代码中看到
typedef class FLBase FLBase;
怎么有两个同样的FLBase,有点迷惑
[/Quote]
typedef就是类型重定义,定义后FLBase就等价于class FLBase
coverallwangp 2009-04-16
  • 打赏
  • 举报
回复
就是将class FLBase用 FLBase代替,不过我觉得这种替换没有啥作用。下面的程序供你参考

#include <iostream.h>
class A
{
public:
a(){cout << "aa" << endl;};

};
typedef class A A;


void main()
{

A a;
class A b;
b.a();
a.a();
}
  • 打赏
  • 举报
回复
typedef class FLBase FLBase;

貌似编译器不会报错.
typedef struct s
{

}s;

这样也可以
liliangbao 2009-04-16
  • 打赏
  • 举报
回复
帮顶~
wxjiao 2009-04-16
  • 打赏
  • 举报
回复
非常感谢上面几位热心朋友的解答。这段代码应该是97年左右的,是老外开发的一个应用程序中的部分代码,可能不太符合现在的标准。我现在是想能够读懂里面的意思,还没想着要去修改它。
warren258 2009-04-16
  • 打赏
  • 举报
回复
见过typedef struct 的,没见过 typedef class 的。
这样的重定义真的没有什么用。

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧