单选题 有如下类定义: class MyClass { public: MyClass(const char *c=NULL); ~MyClass(); ______________ //运算符=的声明 private: char *p; };若要使语句序列 MyClass s1("test"),s2; s2=s1;能够正常运行,横线处的语句应为
【正确答案】 B
【答案解析】解析:首先赋值运算符只能重载为成员函数,以便编译器可以知道是否需要合成一个,选项A、D错误;另外赋值运算符是二元运算符,左操作数是调用该赋值运算符的类对象,所以赋值运算符的重载函数的形参只需要右操作数,选项C中有两个形参,错误;答案为B。