CButton 的构造函数是没有参数的呢!
另外,你们都说的是不需要手动调用。我还想清楚一点就是,VS的机制是否就是告诉我们最好别去调用CButton 的构造函数?
还有就是从C++的继承机制来说,子类都应该调用父类的构造函数才对的啊,否则一些数据就不能被初始化,而析构函数却会被调用。这似乎不合常理!!!

解决方案 »

  1.   

     不调用可以初始化
    CMyButton::CMyButton()   
      :   a(1),   b(1),   c(1),   d(1),   e(1),   f(1),   g(1),   h(1),   i(0),   
          j(0),   k(0),   l(0),   m(0)   
      {   ...   }   
      

  2.   

    你可以看下他的源码,CButton的构造函数什么也不干,所以子类没必要调用这个父类构造函数
      

  3.   


    CButton 的构造函数是没有参数的呢!
    另外,你们都说的是不需要手动调用。我还想清楚一点就是,VS的机制是否就是告诉我们最好别去调用CButton 的构造函数?
    还有就是从C++的继承机制来说,子类都应该调用父类的构造函数才对的啊,否则一些数据就不能被初始化,而析构函数却会被调用。这似乎不合常理!!!LZ你自己测试一下就明白了,创建父类A 子类B 孙类C,定义C c;并在其上设置断点,按F11,逐条执行,看看你各个构造函数是怎么被调用的
      

  4.   

    没听说过什么VS的机制
    所有派生类在执行构造函数前都会自动调用基类构造函数,构造函数不需要也不能显式调用
    如果楼主还在奇怪“在构造函数的实现中,并没有显示调用CButton 类的构造函数”,我只能认为楼主不熟悉C++