1、如何判斷程式是c程式還是cpp程式
根據巨集__cplusplus
#include using namespace std;
void main()
2、c++和c的不同
3、引用和指標的區別:
4、int id[sizeof(int)];
const int a = 5; int b[a];
int c = 5; const int a = a; int b[a];
5、靜態全域性變數的作用域是本檔案內部。static int a;
6、c++函式中值的傳遞方式有幾種?
7、對於乙個頻繁使用的短小函式,在c語言中應用巨集定義實現,在c++中用inline函式實現。
8、c++中的virtual和inline的含義分別是什麼?
9、vc中,編譯工具條內的debug和release選項是什麼含義
10、函式assert用法
11、const和#define比較,const有什麼優點
12、有了malloc/free為什麼還有new/delete
13、如果在申請動態記憶體時找不到足夠大的記憶體塊,malloc和new將返回null指標,宣告記憶體申請失敗。你是怎麼處理記憶體耗盡的
14、c++是不是型別安全語言。
15、用c++寫個程式,判斷乙個os是16為的還是32位還是64位。
void main()
16、多型類中的虛函式表是編譯時建立還是執行時建立
17、轉移字元的判斷
void func(int *arr)
void main()
; func(a);
system("pause");
}
19、變數的指標含義是變數的位址
20、記憶體的分配方式有幾種?
21、float a, b, c,問等式(a+b)+c == (b+a)+c,和(a+b)+c == (a+c)+b是否成立
22、全域性變數和區域性變數有什麼區別?是怎麼實現的?os和編譯器是怎麼知道的?
23、heap和stack的差別
(1)堆疊空間分配區別
(2)堆疊快取方式區別
(2)資料結構的堆和棧:
24、explicit和protected是什麼意思
(1)explicit
#include using namespace std;
class string ;
string(const char *p) {};
};void main()
(2)protected
25、重複多次fclose乙個開啟過一次的file *fp指標會有什麼結果,並請解釋。
26、為什麼陣列名作為引數,會改變陣列的內容,而其他型別如int卻不會改變變數的值
27、如果不使用常量,直接在程式中填寫數字或者字串,將會有什麼麻煩
28、為什麼要使用堆
29、const關鍵字由哪些作用
30、是不是父類寫了乙個virtual函式,如果子類覆蓋它的函式不加virtual,也能實現動態
31、物件導向的3個基本特徵
(1)封裝:就是對資料進行許可權控制
(2)繼承:[**重用]
(3)多型[乙個介面多個操作]
42、過載、重寫、重定義的區別
43、多型的作用
44、當乙個類a中沒有宣告任何成員變數與成員函式,這是sizeof(a)?,如果不是0,編譯器為什麼沒有讓它為0
45、如class a中定義並實現了虛函式int func(),b中也實現了int func.呼叫情況&如果func不是虛函式?
(1)是虛函式:[指標或者引用實現多型]
#define _crt_srcure_no_warnings
#include #include using namespace std;
class aa
};class bb:public aa
};void main()
(2)非虛函式
#define _crt_srcure_no_warnings
#include #include using namespace std;
class aa
};class bb:public aa
};void main()
46、c++裡面的是不是所有的動作都是main函式引起的?如果不是,請舉例
#define _crt_srcure_no_warnings
#include #include using namespace std;
class aa ;
~aa() ;
};aa a; //列印aa create:全域性變數優先於main函式,呼叫了aa的建構函式
void main()
47、內聯函式在編譯時要做編譯檢查。巨集定義不,只是替換
48、析構函式和虛函式的用法和作用
49、new與malloc的區別
50、結構體中不可以定義虛函式。
51、c++程式中:
52、不可以被宣告為虛函式的有
53、c++的模板
54、在c++的乙個類中宣告乙個static成員變數有沒有用?
55、c++中為什麼要用模板類
56、函式模板和列模板的區別?
57、在類中如何使用const
58、c++中所有的運算子都能夠過載嗎?
59、基類的析構函式不是虛函式,會帶來什麼問題
60、main函式指向之前,還會執行什麼**?
61、有兩個變數a和b,不允許使用條件判斷符,找出最大值。
62、如何列印出當前原始檔的檔名和當前行號
63、~((int)0) 輸出-1
64、結果是12
int i = 5, j = 7;
cout << (i++ + j) << endl; //++的優先順序大於+
65、寫乙個能夠做左值的函式
int &max(int &x, int &y)
void main()
66、函式返回乙個區域性變數
int add_n(int n)
void main()
67、
void main()
; int i = 3;
cout << *(array+i) << endl; //4
system("pause");
}
68、 一些面試題
q 您在什麼情況下會用到虛方法?它與介面有什麼不同?a 當在繼承類中想重寫某一方法時會用到虛方法 虛方法是類的成員函式,介面相當於抽象類.q override與過載有什麼區別?a override 就是覆蓋的意思,覆蓋父類的同名方法,而過載則是通過參數列來呼叫方法.q 值型別與引用型別有什麼區別?a...
一些面試題
1.如何檢視埠8080的程序 netstat anp grep 8080 lsof i 8080 2.在 tmp目錄下建立test.txt檔案,內容為 hello,world 用乙個命令寫出來。echo hello,world tmp test.txt 3.敘述下列服務的預設埠號。ftp 20,21...
一些面試題
1.給你乙個長度為n的鍊錶。n很大,但你不知道n有多大。你的任務是從這n個元素中隨機取出k個元素。你只能遍歷這個鍊錶一次。你的演算法必須保證取出的元素恰好有k個,且它們是完全隨機的 出現概率均等 解 先選中前k個,從第k 1個元素到最後乙個元素為止,以k i i k 1,k 2,n 的概率選中第i個...