2012各大公司的C 試題

2021-07-04 15:18:01 字數 2471 閱讀 6953

那麼多c++試題,其實最關鍵的是要知道考察的知識點在**。哎,應該好好重新看看《effective c++》了。

網易3道c++試題:

題目1:

[cpp]view plain

copy

class

a    

~a()  

void

fun1()  

intgetvalue()  

protected

:  virtual

void

fun2()  

private

:  int

i;  

};  

class

b:public

a    

virtual

~b()  

void

fun1()  

protected

:  void

fun2()  

private

:  int

i;  

};  

intmain()  

;  

考點:在建構函式中呼叫了虛函式。

根據《effective c++》條款09:絕不要在建構函式和析構函式中呼叫虛函式,

因為:這類呼叫從不下降至子類。此時,物件在derived class呼叫之前,絕不會成為乙個derived物件。

所以,答案是11(而不是12)。

題目2:

[cpp]view plain

copy

class

a;  

inta::fun(

inti)  

class

b:public

a;  

intb::fun(

inti)  

intmain()  

;  

考點:哎,虛函式是動態繫結的,但是預設引數是靜態繫結的。

所以,答案是1。而不是10。靠!

題目三:

考察c++中static 成員、const成員、static const成員的初始化時機:

在c++中,static靜態成員變數不能在類的內部初始化。在類的內部只是宣告,定義必須在類定義體的外部,通常在類的實現檔案中初始化,如:double account::rate=2.25;static關鍵字只能用於類定義體內部的宣告中,定義時不能標示為static

在c++中,const成員變數也不能在類定義處初始化,只能通過建構函式初始化列表進行,並且必須有建構函式。

const資料成員 

只在某個物件生存期內是常量,而對於整個類而言卻是可變的

。因為類可以建立多個物件,不同的物件其const資料成員的值可以不同。所以不能在類的宣告中初始化const資料成員,因為類的物件沒被建立時,編譯器不知道const資料成員的值是什麼。

const資料成員的初始化只能在類的建構函式的初始化列表中進行。要想建立在整個類中都恆定的常量,應該用類中的列舉常量來實現,或者static cosnt。

乙個例子如下:

[cpp]view plain

copy

class

test    

enum

;    

private

:    

const

inta;

//只能在建構函式初始化列表中初始化  

static

intb;

//在類的實現檔案中定義並初始化  

const

static

intc;

//與 static const int c;相同。  

};    

inttest::b=0;

//static成員變數不能在建構函式初始化列表中初始化,因為它不屬於某個物件。  

cosnt int

test::c=0;

//注意:給靜態成員變數賦值時,不需要加static修飾符。但要加cosnt 

靠,還是做錯了。

[cpp]view plain

copy

#include 

using

namespace

std;  

class

a    

virtual

void

f(){}  

};  

class

b:public

a    

virtual

void

f(){}  

};  

intmain()    

主要是引申dynamic_cast 和static_cast的區別,自己看看百科吧:

dynamic_cast的類一定要加virtual函式。

from: 

各大公司面試集錦

微軟 有乙個整數陣列,請求出兩兩之差絕對值最小的值,記住,只要得出最小值即可,不需要求出是哪兩個數。排序,兩兩相減 寫乙個函式,檢查字元是否是整數,如果是,返回其整數值。或者 怎樣只用4行 編寫出乙個從字串到長整形的函式?基礎給出乙個函式來輸出乙個字串的所有排列。若要排除重複,先排序,每次找到從後往...

各大公司經典演算法面試題

微軟 有乙個整數陣列,請求出兩兩之差絕對值最小的值,記住,只要得出最小值即可,不需要求出是哪兩個數。寫乙個函式,檢查字元是否是整數,如果是,返回其整數值。或者 怎樣只用4行 編寫出乙個從字串到長整形的函式?給出乙個函式來輸出乙個字串的所有排列。請編寫實現malloc 記憶體分配函式功能一樣的 給出乙...

作業系統各大公司筆試題彙總

1 在段頁式儲存管理中,其虛擬位址空間是 a 一維 b 二維 c 三維 d 層次 答案 b 2 採用 不會產生內部碎片 內零頭 a 分頁式儲存管理 b 分段式儲存管理 c 固定分割槽式儲存管理 d 段頁式儲存管理 答案 b 3 段頁式管理每取一資料,要訪問 次記憶體。a 1 b 2 c 3 d 4 ...