初始化為null(0)的類指標可以安全的呼叫不涉及類成員變數的類成員函式而不出錯,但是如果類成員函式中呼叫了類成員變數則會出錯
2.悄咪咪加乙個注意點:
注意enum在c語言中是關鍵字 ,c語言對大小寫比較敏感,所以enum是乙個識別符號,但不是關鍵字。
3.#include
usingnamespace
std;
class
testclass
testclass(char
c)
~testclass() };
int
main()
解析:testclass p1, *p2; //只為p1呼叫預設構造——a
p2 = new testclass('x'); //呼叫建構函式,由p2指向——x
delete p2; //釋放記憶體空間,p2所指例項呼叫析構函式——b
return 0; //程式結束,p1呼叫析構——b
4,5 兩個還是比較混亂的 正在研究中4.
單選:下列 c **中,不屬於未定義行為的有:
a: int i=0;i=(i++);
b: char *p=」hello」;p[1]=』e』
c: char *p=」hello」;char ch=*p++
d: int i=0;printf(「%d%d\n」,i++,i--)
5.下面**的輸出是什麼?
class
a
~a() ;
class
b:public
a
~b()
private
:
a _a;
};
int
main(void
)
答案:~b~a
~a~a
7.假定csomething是乙個類,執行下面這些語句之後,記憶體裡建立了____個csomething物件。
csomething a();
csomething b(2);
csomething c[3];
csomething &ra = b;
csomething d=b;
csomething *pa = c;
csomething *p = new csomething(4);
解析:6個
csomething a();// 沒有建立物件,這裡不是使用預設建構函式,而是定義了乙個函式,在c++ primer393頁中有說明。
csomething b(2);//使用乙個引數的建構函式,建立了乙個物件。
csomething c[3];//使用無參建構函式,建立了3個物件。
csomething &ra=b;//ra引用b,沒有建立新物件。
csomething d=b;//使用拷貝建構函式,建立了乙個新的物件d。
csomething *pa = c;//建立指標,指向物件c,沒有構造新物件。
csomething *p = new csomething(4);//新建乙個物件。
8.假設所有變數均為整型,則表示式(a=2,b=5,b++,a+b)的值是____。
8解析:
逗號表示式的求值順序是從左向右依次計算用逗號分隔的各表示式的值,最
後乙個表示式的值就是整個逗號表示式的值。所以表示式最後的值是a+b,但經過前面的
計算,此時a的值為2,b的值是6,所以最後的結果是8,應選擇b。
9.下面這個**輸出的是()
#include
#include
usingnamespace
std;
int
main(void)
}for
(itor=array.begin();itor!=array.end();itor++)
return0;
} 100 300 300 500
解析:vector::erase():從指定容器刪除指定位置的元素或某段範圍內的元素
vector::erase()方法有兩種過載形式
如下:
iterator erase( iterator _where);
iterator erase( iterator _first, iterator _last);
在本題中,當 *itor==300成立時,刪除第乙個值為300的元素,同時itor指向下乙個元素(即是第二個值為300的元素),
在for(;;itor++)執行itor,itor指向第三個值為300的元素,進入下乙個迴圈
進入迴圈滿足*itor==300,重複上面的過程,執行完迴圈,itor執行值為500的元素。
所有整個過程中,只刪除了2個值為300的元素。
牛客網刷題(1)重點錯題
1 在32位機器中,如下 void example char acwelcome void main 結果為 4 陣列名作為函式傳參是作為指標使用的。2 下面的程式可以從0 n 1中隨機等概率的輸出m個不重複的數。這裡我們假設n遠大於m knuth int n,int m 選項 rand n i m...
牛客網刷題(2)重點錯題
1.32位機器上定義如下結構體 struct xx int xx x5 1 請問sizeof xx 的大小是 答案 24 解析 首先 x5是靜態變數可以不用管它,其次是要考慮位元組對齊的問題。對於結構體中沒有含有結構體變數的情況,有兩條原則 1 結構體變數中成員的偏移量必須是成員大小的整數倍 2 結...
8 31牛客網錯題集
已知 int m 10 int x m正確 int y 10 int z float t m 解析 引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 舉個例子 int a int ra a 定義引用ra,它是變數a的引用,即別...