C++语言中的一个基本特性就是继承,那么假如基类中定义了一个重载运算符,我们应该如何继承这个操作符呢?
#include <string>
class CMyString : public std::string
{
public:
CMyString( void ){};
virtual ~CMyString( void ){};
/** 继承基类的=运算符 */
using std::string::operator=;
};
void main()
{
CMyString strMine;
strMine = "我继承了等号运算符~";
}
通过使用“using 某类::operator某运算符”语句,就可以继承基类中的运算符了。而如果没有加上该语句,编译器会出现以下错误提示:
#include <string>
class CMyString : public std::string
{
public:
CMyString( void ){};
virtual ~CMyString( void ){};
/** 继承基类的=运算符 */
// using std::string::operator=;
};
void main()
{
CMyString strMine;
strMine = "我继承了等号运算符~";
}