有如下类定义: class MyClass { public: MyClass(double d=0.0):val(d) { } ______________ /

admin2019-04-18  28

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

选项 A、int operator int(MyClass);
B、int operator int();
C、operator int(MyClass);
D、operator int();

答案D

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

最新回复(0)