初始化成员列表的问题???

vivshi 2002-05-28 10:37:22
#include<iostream.h>
class a{
public:
int a1;
public:
a(int);
};

class b:public a{
public:
// int a; 这里必须注释掉,否则编译器会认为class a没有被初始化.
int b1;
public:
b(int);
};

a::a(int value)
{
a1=value;
}

b::b(int value):a(value),b1(value)
{}

main()
{
b bbb(19);
cout<<bbb.a1<<"\n";
}

如果我要想用初始化成员列表的方法来初始化calss b的a应该怎么做???这里class b有一个与class a同名的int a.
是不是如果遇到这种情况就不能用初始化成员列表的方法来初始化class b的data member了???
请各位指教!!!
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
J_John 2002-05-28
  • 打赏
  • 举报
回复
是呀,反正重名编译器会禁止掉不就行啦!
jyc_nj 2002-05-28
  • 打赏
  • 举报
回复
既然在class b里定义a会被认为redefinition,那你这个问题也就不存在了.
fangrk 2002-05-28
  • 打赏
  • 举报
回复
a既是int又是class,这不是好主意
Autom 2002-05-28
  • 打赏
  • 举报
回复
在class b里a 会被认为redefinition.应该是没有办法。

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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