C++ 派生类成员函数调用 基类 构造函数 时出现的一些错误

问题及答案:
class A
{
    int m,n;
    A(int a,int b){m=a;n=b;}
}

class B:public A
{
   void func();
}

void B::func()
{
...
    A(2,3);  // 不可以这样写,因为在执行完 A(2,3) 后,会马上调用 ~A()  即析构函数,清理变量,所以 A 中 m n 仍然未定义
...
}
解决办法:

将 A 的成员变量,放在A成员函数 fun 中,在 B 的成员函数 func 中调用 fun,即可

你可能感兴趣的:(C++ 派生类成员函数调用 基类 构造函数 时出现的一些错误)