单选题
有如下类定义: class MyClass { public: MyClass(double d=0.0):val(d) { } ______________ //类型转换运算符double的定义 private: double val; };若要使语句序列 MyClass x(2.1); cout<
A、
operatordouble()const{returnval;}
B、
friendoperatordouble()const{returnval;}
C、
doubleoperator()const{returnval;}
D、
frienddoubleoperator()const{returnval;}
【正确答案】
A
【答案解析】
解析:题目需要定义类型转换运算符double,类型转换运算符是一种特殊的类成员函数,它定义将类类型的值转变为其他类型值,由于转换函数必须是成员函数,选项B、D错误;另外转换函数不能指定返回类型,并且形参列表必须为空,选项C错误;所以double类型转换运算符的定义为:operatordouble()const{returnval;};答案为A。
提交答案
关闭