-4
我寫了下面的代碼,我在這裏創建了一個基類指針,指向派生類類型的一個對象。我可以使用箭頭運算符訪問從基類繼承的成員。但每當我嘗試訪問派生類中定義的成員我錯了。代碼是指向派生類對象的基類指針可以訪問在派生類中聲明的新成員嗎?
#include<iostream>
using namespace std;
struct A {};
struct B: A
{
int b;
B() : b(5) {}
};
int main()
{
B y;
A *ptr=&y;
cout<<ptr->b<<endl;
}
如果您遇到錯誤,請發佈錯誤消息。 – 2014-10-10 16:40:51
答案是肯定的,帶有成員對象指針。但不是直接的,你說它是一個'A',而'A'不是'B'(編譯器應該怎麼知道呢?)。 – Deduplicator 2014-10-10 16:42:40