小编Hen*_*ran的帖子

返回类型与返回类型(操作符++)不相同或协变

我有以下错误:
IntelliSense:返回类型与覆盖虚函数"Counter :: operator ++"的返回类型"Counter"不相同或协变

这是我的项目的标题.
counter.h

/* Header file of Counter Class*/
#pragma once
#include <iostream>
using namespace std;
//Class definition
class Counter {
    friend ostream &operator<<(ostream &out, const Counter &c);
    public:
        Counter(int n0 = 0);
        virtual Counter &operator++();
        virtual Counter operator++(int);
        void reset();
        int getCount() const;

    private:
        int count;
};
Run Code Online (Sandbox Code Playgroud)

LimitedCounter.h

#pragma once
#include "counter.h"

class LimitedCounter : public Counter{
    friend ostream &operator<<(ostream &out, const LimitedCounter &c);
public:
    LimitedCounter(int low, int up);
    void reset();
    LimitedCounter& operator++();
    LimitedCounter operator++(int); …
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism virtual inheritance operator-overloading

3
推荐指数
1
解决办法
1621
查看次数