c 訪問公有基類的成員,簡單程序,求改錯

時間 2022-09-18 17:50:09

1樓:匿名使用者

b.shuchu();不能輸出正確結果是因為,student1 b;之後,並未對成員變數進行初始化,所以輸出亂碼,你可以把

a.shuru();改為b.shuru();即可輸出結果如下:

這裡不是訪問許可權的問題,你呼叫的是父類的函式,父類中的函式當然可以訪問父類中的任何訪問許可權的成員變數

2樓:匿名使用者

#include

#include

using namespace std;

class student

//這兩具函式,因為你使用了公有繼承

virtual void shuchu()//不知道你定義了兩套輸入輸出是為什麼,我改用了虛擬函式

int main()

b.shuru();//對於b型別的物件b,a是不會繼承下來的b.shuchu();//而a型別的物件由於繼承了b的原因在a物件中卻包含了一部分

return 0;//b型別物件,a a,b b,型別不同的獨立物件,a不包含b}

關於php類成員屬性宣告和訪問的問題

團毒七七 你總共提了三個問題,三個問題都是關於訪問許可權控制的,建議你將物件導向的訪問許可權控制的那部分給學習一下。1 類裡的變數是否一定要宣告為成員屬性,答 不一定,在一個類中,有建構函式 屬性 方法 未在方法和建構函式中宣告的變數為屬性,屬性是體現這一個類 物件 的特性的描述,他是這個類的特性的...

c 類中成員函式的問題

1.你這基礎實在薄弱,基本概念都還沒懂 2.下面的void m f1 m m 是對類裡面 static void f1 m m 函式的實現。m m 的意思定義一個m的物件m.也就是這個函式的引數必須是一個m的物件。3.m p 5 q 10 這裡的定義兩個m物件 括號裡的值是傳遞給建構函式的,即呼叫此...

c 語言中類中的靜態資料成員為什麼必須在類體外初始化

du瓶邪 可以通過以下幾個例子更形象的說明這個問題 test.cpp include class a int main 編譯以上 會出現 對 a a 未定義的引用 錯誤。這是因為靜態成員變數a未定義,也就是還沒有分配記憶體,顯然是不可以訪問的。再看如下例子 test.cpp include clas...