对象和对象间 赋值的问题。。。
[code=C]/C++
#include<iostream>
using namespace std;
class num
{
public:
num(){n=1;cout<<"构造函数执行\n";}
num(const num&s){this->n=s.n;cout<<"复制构造函数执行\n";}
num(int i){cout<<"单个参数构造函数执行\n";}
~num(){cout<<"析构函数执行\n";}
int get()const{return n;}
void set(int x){n=x;}
void add(){n++;}
const num &operator++(){++n;cout<<"前置 this的地址"<<this<<endl;return *this;}//i.operator++()
const num operator++(int){
num temp(*this);
cout<<"temp的地址"<<&temp<<endl;
++n;
cout<<"后置 this的地址"<<this<<endl;
return temp;}
private:
int n;
};[/code]
num a; 构造函数执行
num b; 构造函数执行
b=a; 什么都没执行 直接就对象b=a了 没重载operator= 这样也行?