[英]Scope resolution in c++
我有一個程序:
#include <iostream>
using namespace std;
class A {
public:
virtual void Output() {
cout << "A";
}
};
class B :public A {
public:
A::Output();
void Output() {
cout << " B ";
}
};
int main() {
A* a = new B;
a->Output();
return 0;
}
我不明白為什么“A::outPut()”這一行有錯誤。 請幫我解決這個問題。
當在A
的子類的方法中使用時, A::Output()
是一個從A
class 調用Output
方法的表達式。與任何其他可執行表達式一樣,它只能在方法內部使用,而不能在 class 主體中使用. 因為 class 主體應該只包含聲明(和定義)。 例如,您不能在 class 主體級別調用函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.