1
我已經超載運算符< <在繼承類,它工作正常,但是當我試圖超載運算符>>,它顯示了很多錯誤。 我的錯誤是什麼?重載>>在繼承類C++
class Base{
private:
virtual std::ostream& print(std::ostream&) const = 0;
virtual std::istream& read(std::istream&);
protected:
//atributes
public:
//other functions
friend std::ostream& operator << (std::ostream& os, const Base& b) {
return b.print(os);
}
friend std::istream& operator >> (std::istream& is, Base& bb) {
return bb.read(is);
}
};
class Inherited: public Base{
private:
//atributes
std::ostream& print(std::ostream& os) const {
//things I want to print
}
std::istream& read(std::istream& is){
//things I want to read
return is;
}
public:
//other functions
};
將istream定義爲虛擬純(virtual ... const = 0;)也不起作用。
請提供一個[MCVE](https://stackoverflow.com/help/mcve),我們可以在該MCVE上編譯和準確編譯錯誤文本。 – yeputons