重载copy construct的问题~~ 急
考虑以下一个类的例子:
class Sample
{
public:
int m_n;
string m_str;
Sample(int mm):m_n(mm){cout<<"sample construct with "<<mm<<endl;};
virtual ~Sample();
virtual void print();
}
Sample a(1);
Sample b(2);
b = a; //通过
1 我想问在什么时候需要显示的重载operator = 和copy constructor???
第二个问题:
2 copy construct应该如何定义?
是这样 :
Sample Sample(Sample& sam);
还是:
Sample& Sample(Sample& sam);
如果这里返回的是引用 返回的是那个的引用??? 我对返回值为引用的情况不是很清楚 请哪位给解释一下