看了一遍書,還是理解的不夠。那就從歷年的考題中,來學習吧,挖掘他的考點,挖掘我們課本上當時不理解的知識點。題不再多,而在於精,自然有必要好好研究研究。一下是結合真題參***和自己的理解。也依靠部落格,和廣大的要考c++的同學們一起交流,多多指點。
建構函式 成員函式及其呼叫
首先來看一道基本操作真題。
改錯。輸出結果為:the value is 10
// proj1.cpp
#include using namespace std;
class myclass
int getvalue() const
void setvalue(int val);
};// error ********found********
inline void setvalue(int val)
int main()
(1)myclass(int val) : value(val) {}(2)void myclass::setvalue(int val)
(3)cout<< "the value is "<< obj.getvalue()<< endl;
是什麼:
用於物件初始化的函式,即為物件的資料成員賦初值。由於類的封裝性,不允許在類的非成員函式中直接訪問類物件的私有和保護資料成員。因此,對類物件資料成員的初始化工作就落到了類物件的成員函式身上,因為他們可以訪問類物件的私有和保護資料成員。這就專門用到了建構函式。用法:
a與類名完全相同。(一般成員函式不能和類名相同)
b 用於定義初始化的狀態,沒有返回值,也不能用void來修飾,這就保證了他不用自動返回值。
c 不能被直接呼叫。
因此該題中,不能用void。a 簡單的說,類是乙個包含函式的結構體。類的成員有資料成員與函式成員兩 類。資料成員稱為屬性。
而函式成員描述類的行為,稱為方法。函式成員有函 數構成,因此也叫成員函式。
b 函式成員可以放在類中定義,也可以放在類外。放在類中定義的成員函式為內 聯(inline)函
數。c++可以再類內宣告成員函式的原型,在類外定義函式 體。這樣使我們對成員函式的功能一目了然。
c 類外定義函式體的格式:
返回值型別 類名 ::成員函式名(形參表)
此題,在類外什麼成員函式,因此不是內聯函式。函式返回值 可以在類中找到。因此答案為void myclass::setvalue(int val)
a預設訪問許可權為privatev.
b 成員函式呼叫,value是私有成員,私有成員只能被類的成員函式呼叫。 所以在主函式中不能直接
呼叫value,可以使用成員函式getvalue()來得到value的值。
C 基本知識點
繼承 語法 class 子類 繼承方式 父類 如果子類 現和父類同名的成員函式,子類中的同名成員會隱藏掉父類中所有同名成員函式,如果想訪問父類中被隱藏的同名成員函式,需要加作用域。動態多型滿足條件 1 有繼承關係 2 子類重寫父類的虛函式 動態多型使用 父類的指標或者引用 執行子類物件 includ...
Oracle Oralce基本操作小知識點總結
1 建立檢視 create or replace view demo emp id,name,age,sal,deptno asselect from emp 2 檢視檢視 select from demo emp 3 刪除檢視 drop view demo emp 4 索引管理 索引是建立在表之上...
c基本易忘知識點
const 作用是把乙個變數視為常量,這個變數不能被改變,可以用const int a b a不能被改變,a可以改變,a c這樣是可以的,a 20這樣是不行的 int const a b 這樣的話a不能改變,而 a可以改變 register關鍵字暗示編譯器前面帶有這個關鍵字的變數將被頻繁的利用 re...