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

admin2015-07-22  39

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

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

答案A

解析 横线处填写的语句,是重载前缀自增运算符++的函数声明,为了与内置类型一致,前缀自增运算符应该返回自增对象的引用,选项C、D错误;自增运算符是一元运算符,即操作数是类对象,所以参数列表为空,选项B错误;答案为A。
转载请注明原文地址:https://jikaoti.com/ti/4PE0FFFM
0

最新回复(0)