发新话题
打印

请问如何初始化类中的类成员变量(C++)

请问如何初始化类中的类成员变量(C++)

是关于 C++ 的问题

class B{
public:
    B(int i){;};
};

class A {
public:
    B b;

}

这段代码是肯定不对的, 我希望达到的目的是:
1, 保证 B 只有一个构造函数 B(int i), 就是说 B 没有缺省的构造函数.
2, A 有一个成员变量 B, 希望用 B(1) 类似的形式初始化 B b, 从而满足 B 对于构造方式的约束;

谢谢了.

TOP

可以用初始化语法来为b进行初始化
A::A():b(1){
}这样就不用为B设计省略构造函数了;

不知道这样是不是能够满足你的要求累?

TOP

还有就是定义类指针

B* b

然后在 A的构造函数中
b = new B(1);
while (I'm_alive)
{
  printf("I Love Programming");
}

TOP

引用:
Originally posted by bigbox at 2005-3-16 05:31 PM:
可以用初始化语法来为b进行初始化
A::A():b(1){
}这样就不用为B设计省略构造函数了;

不知道这样是不是能够满足你的要求累?
非常感谢,就是这个!
我怎么没想到呢,
哎,还是水平不到呀。

TOP

引用:
Originally posted by winnick at 2005-3-16 05:50 PM:
还有就是定义类指针

B* b

然后在 A的构造函数中
b = new B(1);
是个办法,我也这么做过

TOP

发新话题