有如下类定义: class MyClass{ public: MyClass(double d=0.0):val(d){} _______________ //类型转换运算符double的定义 priva

admin2020-10-21  31

问题 有如下类定义:
    class MyClass{
    public:
    MyClass(double d=0.0):val(d){}
    _______________    //类型转换运算符double的定义   
    private:
    double val;
    };   
    若要使语句序列
    MyClass x(2.1);
    cout<    能够正常运行,横线处的语句应为(    )。

选项 A、operator double()const{retum val;}
B、friend operator double()const{return val;}
C、double operator()const{return val;}
D、friend double operator()const{retum val;}

答案A

解析 题目需要定义类型转换运算符double,类型转换运算符是一种特殊的类成员函数,它定义将类类型的值转变为其他类型值,由于转换函数必须是成员函数,选项B、D错误;另外转换函数不能指定返回类型,并且形参列表必须为空,选项C错误;所以double类型转换运算符的定义为:operator double()const{return val;}.答案为A。
转载请注明原文地址:https://kaotiyun.com/show/Djyp777K
0

最新回复(0)