test.cpp

来自「重载==运算的例子」· C++ 代码 · 共 30 行

CPP
30
字号
class bashful {
public:
    int operator==(const bashful&)  { return 1; }
};
class doc : public bashful {
    int v;
public:
    doc(const int i) : v(i)  { }
    int operator==(const doc &r)  { return v == r.v; }
    int operator==(const doc &r) const  { return v == r.v; }
    int value()  { return v; }
};
class dopey {
    int v;
public:
    dopey(const int i) : v(i)  { }
    operator doc()  { return doc(v); }
    operator doc() const  { return doc(v); }
    int operator==(const dopey &r) { 
        doc a(*this), b(r);
        return a == b;
    }
};
main() {
    dopey a(0), b(1);
    if (a == b)
	;
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?