#include "public.h"
using namespace std;
class A {
private:
int n;
public:
A(int n):n(n) {}
A(const A& a) {
n = a.n;
cout << "拷贝构造" << endl;
}
//A operator = (const A& a);
A& operator = (const A& a);
void show() { cout << "n: " << n << endl; }
};
//A A::operator=(const A& a) {
// this->n = a.n;
// cout << "赋值运算符重载" << endl;
// return *this; //返回的是值
//}
A& A::operator = (const A & a) {
this->n = a.n;
cout << "赋值运算符重载" << endl;
return *this; //返回的是值
}
int main(int argc, const char* argv[]) {
A a(1), b(2);
A c = a;
int n, m, i, k;
n = m = i = k = 666;
(k = 666) = 1;
cout << k << endl;
(a = b) = c;
a.show();
while (1);
return 0;
}