几个搞不清的运算符重载
时间:2010-05-16 来源:Codeplayer
class Empty {
public:
Empty(); // 缺省构造函数
Empty(const Empty& rhs); // 拷贝构造函数
~Empty(); // 析构函数----是否为虚函数看下文说明
Empty&operator=(const Empty& rhs); // 赋值运算符
Empty* operator&(); // 取址运算符(非const)
const Empty* operator&() const; // 取址运算符(const)
};
下面的代码为例:
const Empty e1; // 缺省构造函数
// 析构函数
Empty e2(e1); // 拷贝构造函数
e2 = e1; // 赋值运算符
Empty *pe2 = &e2; // 取址运算符
// (非const)
const Empty *pe1 = &e1; // 取址运算符
// (const)
public:
Empty(); // 缺省构造函数
Empty(const Empty& rhs); // 拷贝构造函数
~Empty(); // 析构函数----是否为虚函数看下文说明
Empty&operator=(const Empty& rhs); // 赋值运算符
Empty* operator&(); // 取址运算符(非const)
const Empty* operator&() const; // 取址运算符(const)
};
下面的代码为例:
const Empty e1; // 缺省构造函数
// 析构函数
Empty e2(e1); // 拷贝构造函数
e2 = e1; // 赋值运算符
Empty *pe2 = &e2; // 取址运算符
// (非const)
const Empty *pe1 = &e1; // 取址运算符
// (const)
相关阅读 更多 +