有如下类定义: class MyClass{ public: MyClass(double d=O.0):val(d){} _____________ //前缀自增运算符++的声明 private: d

admin2020-06-29  21

问题 有如下类定义:
    class MyClass{
    public:
    MyClass(double d=O.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://kaotiyun.com/show/e48p777K
0

最新回复(0)