派生类中调用父类构造函数为什么不能赋值?
jiuyu 2017-11-06 10:03:07 #include <iostream>
using namespace std;
class A {
public:
A() {};
A ( int i , int j ): x(i), y(j) {};
public:
void modify (int i, int j) { x= i; y = j;};
virtual void show() {};
protected:
int x;
int y;
} ;
class B :public A {
public:
B ( int i, int j) : A(i,j ) { // 调用A(i, j),给B中的x,y 赋值
modify ( i * 2, j * 2); // 可以成功修改
A ( i * 3, j *3 ); // 无效 就是这里没有理解,请高手指点
}
public:
void show() { cout << x << endl << y << endl;};
protected:
int z;
};
int main() {
A* pa = new B(2,5);
pa->show(); // 4, 10
return 0;
}