#include<iostream>
using namespace std;
class A {
private:
int m, n;
public:
A(int i, int k) :m(i), n(k) {
cout << "i=" << i << " k=" << k << endl;
// i=100 k=200
}
int getM() const {
//error 表达式必须是可修改的左值
//m = 1;
return m;
}
int getN() {
n = 2;
return n;
}
};
class B {
private:
int a, b;
public:
B() {
a = 520;
b = 1314;
cout << "a=" << a << " b=" << b << endl;
}
// 使用拷贝构造函数
B(const A& obj) {
a = obj.getM();
b = 2;
//error C++ 对象含有与成员 函数 不兼容的类型限定符
// b = obj.getN();
cout << "a=" << a << " b=" << b << endl;
//a=100 b=2
}
};
int main()
{
A a(100,200);
B b(a);
return 0;
}