class UnCopyable
{
public:
UnCopyable() = default;
~UnCopyable() = default;
private:
UnCopyable(const UnCopyable &);
UnCopyable& operator=(const UnCopyable &);
};
//我是独一无二的,我不能被复制
class MySelf:private UnCopyable
{
public:
MySelf(string na, int a) :m_strName(na), m_age(a)
{
}
void show()
{
cout << m_strName.c_str() << " " << m_age << endl;
}
private:
string m_strName;
int m_age;
};
void main()
{
MySelf self("Ty", 28);
self.show();
//MySelf self2(self); 报错
//self2.show();
system("pause");
}
巧妙使用UnCopyable类,阻止编译器自动生成的函数
于 2022-03-07 23:23:05 首次发布