| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 725 人关注过本帖
标题:问个类作成员变量时初始化问题
只看楼主 加入收藏
gdutljg
Rank: 1
等 级:新手上路
帖 子:24
专家分:2
注 册:2009-3-24
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:5 
问个类作成员变量时初始化问题
class A
{
public:
     A();
     A(int i){num=i;}
private:
    int num;
};
class B
{
public:
     B(int j){如何对成员a初始化????};
private:
     A a;
};

问题:我想在B中对A进行初始化,但我不可能在类B的定义中使用:A a(j)这样的方法,又想在构造B时就初始化A,那么只能在B构造函数里初始化A啦。
这个要怎么写?
有个方法是在A中定义一个init(int i)在B的构造中初始化。但这样看起来不是一个好方法,还有别的方法吗?
如果没有,那么这是不是C++的一个不好的地方?
请牛人回答我的以上三个问题,谢谢!
搜索更多相关主题的帖子: 类作成员变量的初始化 
2009-08-14 12:12
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:4 
在A和B都是类(数据类型),谈不上构造和初始化吧。类体中是不能对数据成员进行初始化。(还有应该是对a而不是A进行初始化,你提问的有问题)

迭代的是人,递归的是神。
2009-08-14 12:50
tinjp
Rank: 5Rank: 5
等 级:职业侠客
帖 子:52
专家分:340
注 册:2006-11-4
收藏
得分:4 
使用初始化列表
B(int j) : a(j)
2009-08-14 12:58
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:4 
回复 楼主 gdutljg
就是3楼说的那方法。
C++里的语法比较多,要在学的时候用心记,体会它的作用。然后在编程的时候多用~
2009-08-14 14:17
da72819
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2009-8-15
收藏
得分:4 
3楼那样加参数列表,或者写到函数里,用点操作符再指明一边
2009-08-15 20:01
王晓明
Rank: 2
等 级:论坛游民
帖 子:40
专家分:62
注 册:2009-3-12
收藏
得分:4 
初始化列表
2009-08-18 15:15
快速回复:问个类作成员变量时初始化问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.104330 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved