class b
{
public:
b(int i);
}class a
{
public:
b m_b;
b m_c;
}a::a() : m_b(1)
{
还有一个m_c该怎么初始化呢?
}
可以这样吗:
a::a()
{
m_b.b::b(1);
m_c.b::b(2);
}

解决方案 »

  1.   

    a::a() : m_b(1),m_c(1)
    {
    }
      

  2.   

    多谢大侠。
    如果我初始化类的参数很长,看上去不太好看,那么我那种方法可以吗,就是
    myClass.CMyClass::CMyClass(参数);
      

  3.   

    vc里面新建个console试下,就知道了撒。。
      

  4.   

    我刚才按你们说得方法试了一下,一般情况下可以,但是这种就不行了
    class c
    {
    public:
      c(int i);
      ~c;
    };
    class b
    {
    public:
    c m_c;
    }
    class a:public b
    {
    ...........
    }a::a() : m_c(1)    //illegal member initialization
    {
    }
      

  5.   

    该怎么办呢,又不能用m_c.c::c(1);
      

  6.   

    难道不能用最一般的方法吗,
    在头文件里面
    CMyClass m;
    在.cpp文件里面
    CMyClass m(参数);各位可以给我一个答案吗,就是不用类似这种a::a() : m_b(1),m_c(1)方法的。
    解决马上给分。