c 基本问题,请高手指教

[复制链接]
查看11 | 回复1 | 2011-5-18 11:23:00 | 显示全部楼层 |阅读模式
#includestdio.h
classc_a
{
public:
enum
{
DEL=99,
DELL=88
};
};

//////////////////////
classc_b
{
public:
c_b(intpara=c_a::DEL);
};
c_b::c_b(intpara)
{
printf(\"paraDEL=%d\\n\",para);
}
intmain()
{
c_bb;
return0;
}
//////////////////////////////
这段代码能够正常运行,所以想问下c_b(intpara=c_a::DEL);这句话是如何实现的
我不明白的是c_a根本没有构造啊?!麻烦高手指教下,万分感谢!
回复

使用道具 举报

千问 | 2011-5-18 11:23:00 | 显示全部楼层
如果是静态变量,可以直接用“类名::变量名”的形式去引用,其他变量要么用“类的对象名.变量名”或者用“类对象指针-变量名”这两种形式。
书上很模糊的说这是利用了C语法在枚举上的一个漏洞,说尽量不要这么用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行