C 面試題(二)

2021-07-23 01:56:36 字數 1372 閱讀 1499

string函式

編寫標準庫函式strcpy

char *strcpy(char *strdest, const

char *strsrc);

//strdest為目標,strsrc為源

}

編寫標準庫函式strlen

int strlen( const

char *str ) //輸入引數const

return len;

}

已知string類定義如下

class

string

;

//普通建構函式  

string::string(const

char *str)

else

} // string的析構函式

string::~string(void)

//拷貝建構函式

string::string(const string &other)    // 得分點:輸入引數為const型

//賦值函式

string & string::operate =(const string &other) // 得分點:輸入引數為const型

寫乙個函式,完成記憶體之間的拷貝

// 功能:由src所指記憶體區域複製count個位元組到dest所指記憶體區域。  

// 說明:src和dest所指記憶體區域可以重疊,但複製後dest內容會被更改。函式返回指向dest的指標

void *memmove(void *dest , const void *src , size_t count)

else

if( psrc < pdest )

return dest;

} // 說明:src和dest所指記憶體區域不能重疊,函式返回指向dest的指標

void *memmcpy(void *dest , const void *src , size_t count)

什麼是拷貝建構函式?

它是單個引數的建構函式,其引數是與它同屬一類的物件的(常)引用;類定義中,如果未提供自己的拷貝建構函式,c++提供乙個預設拷貝建構函式,該預設拷貝建構函式完成乙個成員到乙個成員的拷貝

什麼是深淺拷貝?

淺拷貝是建立了乙個物件用乙個現成的物件初始化它的時候只是複製了成員(簡單賦值)而沒有拷貝分配給成員的資源(如給其指標變數成員分配了動態記憶體); 深拷貝是當乙個物件建立時,如果分配了資源,就需要定義自己的拷貝建構函式,使之不但拷貝成員也拷貝分配給它的資源。

C 面試題(二)

try之後沒有任何catch塊,那麼finally也是可選的對嗎?反射實現的原理?移動相機動作在哪個函式裡,為什麼在這個函式裡?寫乙個簡單的實現相機跟隨的c 指令碼 寫一段攜程的 有何用處,其優缺點?簡述 private,protected public internal修飾符的訪問許可權 用c 實...

C 經典面試題 二

最近看一些面試題,覺得如果自己被問到了,並不能很利落的回答出來。一是從來沒有這個意識,二是沒有認真的梳理下。11.引用與指標有什麼區別?參 1 引用必須被初始化,指標不必。2 引用初始化以後不能被改變,指標可以改變所指的物件。3 不存在指向空值的引用,但是存在指向空值的指標。可以參考下 在 5 題中...

面試題整理 C (二)

1.類,介面的區別 從定義的角度 類描述乙個實體,包括狀態 屬性和動作 介面定義一類動作,沒有實現,也沒有狀態資訊 從程式的角度 介面是函式宣告 類是函式實現 介面可以有屬性,不能有欄位 乙個子類只能繼承乙個父類,但是可以繼承多個介面 2.介面和抽象類的區別 抽象類是一類事物的高度聚合,介面是定義行...