我有這個代碼,並在行 tp = new asp_table
,它不會讓我編譯說我沒有訪問權限。 我不明白爲什麼?我試圖做一個從基類到派生類的指針,但它不會讓我。我想明白爲什麼。多態性和受保護的繼承問題
class table {
int size;
int priority;
public:
table(int s=0,int p=0):size(s),priority(p){ }
virtual void print(){}
};
class stud_table:public table {
char * name;
int gr;
public:
void print() {cout<<"students table"<<endl;}
~stud_table() {delete []name;}
};
class asp_table:protected table {
char* thesis;
};
int main() {
stud_table st;
table * tp = &st;
tp = new asp_table;
stud_table * stp = &st;
cout<<"Program"<<endl;
return 0;
}
訪問什麼?請將完整的錯誤消息添加到您的問題。 – emlai
錯誤:不允許轉換爲不可訪問的基類「表」。 – Timur