65,170
社区成员




#include <iostream>
using std::cout;
using std::endl;
class Test {
public:
Test(int i) : m_i(i) {
cout << "Test(int i)" << endl;
}
Test(const Test& rhs) : m_i(rhs.m_i) {
cout << "Test(const Test& rhs)" << endl;
}
Test& operator=(int i) {
m_i = i;
cout << "Test& operator(int i)" << endl;
}
Test& operator=(const Test& rhs) {
cout << "Test& operator=(const Test& rhs)" << endl;
if (rhs.m_i != m_i) {
m_i = rhs.m_i;
}
return *this;
}
~Test() {
cout << "~Test()" << endl;
}
private:
int m_i;
};
int main()
{
Test t1 = 1;
Test t2(2);
return 0;
}