面試題 6個問題

2021-07-04 15:49:11 字數 1304 閱讀 1895

1.當引數*x==1,*y==1,*z==1時,下列不可能是函式add的返回值的(d)?

int add(int *x,int *y,int *z)

a.4 b.5 c.6 d.7

解析:1.當x,y,z指向同一快位址時,z=8。

2.當只有x,y指向同一快位址時,z=5。

3......x,z.................,z=4。

4......y,z.................,z=6。

2.c++中,為了讓莫個類只能通過new來建立(即如果直接建立物件,編譯器會報錯),應該(b)

a.將建構函式設定為私有。

b.將析構函式設定為私有。

c.將建構函式和析構函式均設定為私有。

d.沒有辦法做到。

解析:編譯器在為類物件分配棧空間時,會先檢查類的所有非靜態函式的訪問性,

包括析構函式,如果類的析構是私有的,則編譯器不會在棧空間上為類分

配記憶體。

3.經過強制轉換後,變數a,b的值分別為多少?

short a = 128;

byte b = (byte) a;

答案:128 -128(擷取的是後4位).

4.32位機上根據下面的**,問那些說法是正確的?(c)

signed char a = 0xe0;

unsigned int b = a;

unsigned char c = a;

a.a>0&&c>0為真。

b.a==c為真。

c.b的十六進製制表示是:0xffffffe0。

d.以上都不對。

解析: 對於b選項,編譯器首先檢查關係表示式"==" 左右兩邊a ,c的型別,

如果某個型別是比int的位寬小的型別,就會先進行integer promotion,

將其提公升為int型別,至於提公升的方法,是先根據原始型別進行位擴充套件

(如果原始型別為unsigned ,進行零擴充套件,如果原始型別為signed,進

行符號位擴充套件)至32位,再根據需要進行unsigned to int 形式的轉換。

因此:a 為signed char 型,位寬比int小,執行符號位擴充套件,被提公升

為 0xffffffe0;c 為unsigned char型,位寬比int小,執行零擴充套件,被提

公升為 0x000000e0;

5.純虛基類是不能被例項化的。

6.虛函式可不可以過載為內聯函式。

虛函式可以是內聯函式。虛函式與普通函式的主要區別是否具有執行

時的多型性,雖然會被內聯展開,可是並不影響多型。

6個面試題

面試者1 1 有兩人在下棋,棋盤 3 3 剛開始棋盤是空的,兩人輪流放入棋子。當一方所下棋子擺成一列,一行或者對角線時就算勝利。用c 編寫 2 假設 已經完成 請針對該功能寫出測試用例。3 請用英語自我介紹。4 說說你在以前專案中的主要職責。5 某一項目的測試過程中,如果資料量很大,如何進行測試?6...

6 騰訊面試題

給你10分鐘時間,根據上排給出十個數,在其下排填出對應的十個數 要求下排每個數都是先前上排那十個數在下排出現的次數。上排的十個數如下 0,1,2,3,4,5,6,7,8,9 初看此題,貌似很難,10分鐘過去了,可能有的人,題目都還沒看懂。舉乙個例子,數值 0,1,2,3,4,5,6,7,8,9 分配...

6個常見的前端面試題

display none和visibility hidden都可以實現元素在視窗的不可見,display none不會保留元素的位置,結構發生了改變,所以觸發了回流和重繪 visibility hidden會保留元素的位置,結構沒有發生改變,所以只是觸發了重繪。new的過程主要完成了以下操作 完成以...