3 回答

TA貢獻1856條經驗 獲得超11個贊
若p要定義為一個函數(shù)的指針,()中
參數(shù)類型與p將要指代的那個函數(shù)的
參數(shù)一致。
設Time類中有public函數(shù):
void say(){};
void print(char *){};
則可以聲明:void (Time::*p)();
可以賦p=&Time::say;
類似的,可以聲明:
void (Time::*p1)(char*);
可以有:
p1=&Time::print;

TA貢獻1777條經驗 獲得超3個贊
void DFS (int root, int father) { int bot = top; for (int i = Head[root]; i; i = Link[i].next) { int v = Link[i].to; if (v == father) continue;
DFS (v, root); if (top - bot >= B) {
capt[++ bind] = root; while (top > bot)
belong[Stack[top --]] = bind;
}
}
Stack[++ top] = root;
}

TA貢獻1868條經驗 獲得超4個贊
1.struct成員默認訪問方式是public,而 class默認訪問方式是private!
2.exit函數(shù)終止程序執(zhí)行會調用析構函數(shù) ,abort函數(shù)終止程序不會調用析構函數(shù)!
3.靜態(tài)局部變量直到程序終止時才退出!
4.通過public 函數(shù)返回 private成員的引用有可能會破壞類的封裝 ,造成外部變量可以改變類私有成員值!
5.常量對象只能調用常量成員函數(shù),常量成員函數(shù)可以有非常量版本重載!
6.常量數(shù)據(jù)成員只能在定義時初始化或者在構造函數(shù)里用成員初始化值來初始化 ,不能用賦值語句來初始化!
7.要在析構函數(shù)里面使用delete來釋放使用 new申請的內存空間!
8.編寫析構函數(shù)來釋放類中成員所申請的內存空間和使用深拷貝函數(shù)是好的編程習慣!
9.operator++()是相當與++d,operator++(int) 是相當于 d++ !
10.如果父類中函數(shù)是虛擬函數(shù) ,那么在每個子類中顯式聲明虛擬函數(shù)是好的編程習慣!
11.如果類作為基類,其析構函數(shù)要聲明為虛析構函數(shù) ,這樣派生類才可以調用自己的析構函數(shù)!
12.一個new 就對應一個 delete是好的編程習慣!
13.istream輸入read 是從文件中讀取 ,ostream輸出write 是寫到文件中去!
14.istream是seekg 重置文件指針位置 ,ostream是seekp, 文件用file.eof()來判斷是否讀取到文件尾部!
15.assert(條件), 當滿足條件時就不 assert,不滿足條件才會assert!
16.對于不需要修改的變量,使用常量引用來傳遞參數(shù)可以既保證安全性又保證效率!
17.在循環(huán)之前調用srand(time(0)),然后在循環(huán)中調用 rand()函數(shù)可以使得每次隨機的結果都不相同!
18.一維數(shù)組形參如下:int a[],二維數(shù)組形參如下 :int a[][SIZE],第一個[] 是空的,后面必須非空!
19.#define A 10 后面沒有分號!
20.在局部函數(shù)中用new創(chuàng)建的變量是存在內存中的,即便局部函數(shù)執(zhí)行完畢內存變量仍然存在,但是指向它的指針有可能是局部變量,則需要在局部函數(shù)結束前調用 delete釋放內存空間,以免內存泄漏
- 3 回答
- 0 關注
- 300 瀏覽
添加回答
舉報