#include <string>
#include <iostream>
class MyClass
{
private:
std::string mStr ;
public:
MyClass(const std::string str = "empty") :mStr(str)
{
}
MyClass(const MyClass &obj) :
mStr(obj.getString())
{
std::cout<<" Copy constructor "<<obj.mStr<<std::endl;
}
std::string getString() const
{
return mStr;
}
~MyClass(void)
{
}
};
int main()
{
MyClass one("string");
MyClass two(one);
return 0;
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgTXlDbGFzcwoJewoJcHJpdmF0ZToKCQlzdGQ6OnN0cmluZyBtU3RyIDsKCglwdWJsaWM6CgkJTXlDbGFzcyhjb25zdCBzdGQ6OnN0cmluZyBzdHIgPSAiZW1wdHkiKSA6bVN0cihzdHIpCgkJCXsKCgkJCX0KCQlNeUNsYXNzKGNvbnN0IE15Q2xhc3MgJm9iaikgOgoJCQltU3RyKG9iai5nZXRTdHJpbmcoKSkKCQkJewoJCQlzdGQ6OmNvdXQ8PCIgQ29weSBjb25zdHJ1Y3RvciAiPDxvYmoubVN0cjw8c3RkOjplbmRsOwoKCQkJfQoJCXN0ZDo6c3RyaW5nIGdldFN0cmluZygpIGNvbnN0CgkJCXsKCQkJcmV0dXJuIG1TdHI7CgkJCX0KCgkJfk15Q2xhc3Modm9pZCkKCQkJewoKCQkJfQoJfTsKCmludCBtYWluKCkKewoJTXlDbGFzcyBvbmUoInN0cmluZyIpOwoJTXlDbGFzcyB0d28ob25lKTsKCXJldHVybiAwOwp9Cg==