#include <iostream>
#include <string>
using namespace std;
class A
{
public:
A() { i=1; j=2;};
A (A &obj) { i= obj.i+100; j= obj.j+100;};
int i;
int j;
};
class B:public A
{
public:
B():A() {i=10; j=20; k=30;};
B(A &obj) { A::A(obj); k=10000; };//
int k;
};
int main()
{
A dog;
B mouse(dog);
cout<<mouse.i<<endl;
cout<<mouse.k<<endl;
return 0;
}
我尝试为派生类编写一个复制构造函数,以利用基类的复制构造函数。我预计mouse.i
应该是 101,但实际上编译结果是 1。 的值mouse.k
是 10000,这是预期的。我想知道我的代码有什么问题。