单选题
为类MyClass重载赋值运算符时,应将其重载为类的
【正确答案】
B
【答案解析】解析:重载赋值运算符是为了操作类的对象,静态函数不满足,选项A错误;如果类中没有重载赋值运算符,编译器将根据需求合成一个赋值运算符,所以重载赋值运算符必须是类的成员函数,以便编译器可以知道是否需要合成,选项C错误;赋值运算符不是虚函数,因为虚函数必须在基类和派生类中具有同样的形参,基类的赋值运算符有一个形参是自身类类型的引用,如果该运算符是虚函数,则每个派生类都将有一个虚函数成员函数,该成员函数定义了其中一个参数为基类对象的operator=,可能会令人混淆,选项D错误;答案为B。