-1
我有以下類實現:ostream的運營商<<對地址和指向
class NUMS {
int* numbers;
int size;
public:
ostream& operator << (ostream& out, NUMS const& nums) {
for (int i = 0; i < size; ++i) out << nums.numbers[i] << " \n";
return out;
}
};
class A
class B : public A {
NUMS* numbers;
public:
C& func() {
C* c = new C();
return *c;
}
ostream& operator << (ostream& out, B const& b) {
for (int i = 0; i < b.numbers->get_size(); ++i) out << b.numbers[i];
return out;
}
};
class C : public B
在我main
:
A* a = new B();
B& b = a->func();
cout << a;
cout << b;
的ostream的操作員沒有在cout << b
工作。我的問題是什麼?
你能解決你的A類和C類的定義嗎? – jrd1
您是否收到錯誤? – 0x499602D2
類A有一些純虛函數..和類C沒有任何東西(只是爲了「複製」一個類B)爲了做我的主要第二行。 –