22 c c 程式設計師面試寶典 類

2021-07-07 07:58:01 字數 1779 閱讀 2012

22.c/c++程式設計師面試寶典-類

類是物件導向程式設計語言中最重要的概念之一,其本質上是對某種型別的物件定義變數和方法的原型。它表示對顯示生活中一類具有共同特徵的事物的抽象。類是物件導向程式設計的基礎。

面試題98  類和結構有什麼區別*****

分析:類是對某種型別的物件定義變數和方法的原型。它表示對顯示生活中一類具有共同特徵的事物的抽象,是物件導向程式設計的基礎。

類是對某個物件的定義。它包含有關物件動作方式的資訊,包括它的名稱、方法、屬性和事件等。類本身並不是物件,因為它不存在於記憶體中。當引用類的**執行時,類的乙個新的例項,即物件,就在記憶體中建立了。乙個類可以在記憶體中建立多個相同型別的物件。類定義的一般形式如下:

class name ;

其中public表示公開訪問許可權。而private表示只有類自身才具有訪問許可權。類成員有3種不同的訪問許可權。

公有成員可以在類外訪問;

私有成員只能被該類的成員函式訪問;

保護成員只能被該類的成員函式或派生類的成員函式訪問。

類體定義類的成員,它支援兩種型別的成員,具體如下:

一是資料成員,它們指定了該類物件的內部表示;

二是成員函式,它們指定了該類的操作。

結構是使用者定義的值型別。與類相似,結構可以保護建構函式、常數、字段、方法、屬性、索引器、運算子和巢狀型別。

結構定義的一般形式如下:

struct test ;

下面來使用結構和類來實現同樣的乙個輸出日期的功能。示例**如下:

#include

using namespace std;

struct date1  //定義結構體 ;

void date1::display()

class date2   //定義類

date2(int year0,int month0,int day0)  //帶引數的建構函式

void getdate()

}; int main()

注意:c語言中只有結構的概念,在c++中,可以在結構體中宣告函式,但是在c語言中是不允許的,這也是c語言和c++的本質區別之一。

【答案】例項化的類儲存在記憶體的堆內,而結構儲存在棧內,結構的執行效率相對較高。結構沒有析構函式。結構不可以繼承。一般來說結構用來處理較少的程式基礎資料,而類用來處理複雜邏輯。

面試題99  抽象類及它的用途***

分析:有的時候,基類並不需要與具體的事物關聯起來,例如動物,它是乙個抽象的概念,表示所有的動物,可以派生企鵝,猴子等。c++引入了抽象類的概念來為各種派生類提供乙個公共的介面。

抽象類可以提供多個派生類共享基類的公共定義,它可以提供抽象方法,也可以提供非抽象方法。抽象類不能例項化,必須通過繼承由派生類實現其抽象方法,也就是說,對抽象類不能使用new關鍵字,它也不能被封裝。如果抽象類的派生類沒有實現所有的抽象方法,則該派生類也必須宣告為抽象類。派生類使用覆蓋來實現抽象方法。

抽象類一定包含有純虛函式,因此不能定義抽象類的物件。乙個使用抽象類的**示例如下:

class a  //定義抽象類 ;

class b : public a  //繼承抽象類

int main()

在上面**中,f1()是乙個普通的過載。呼叫m_j->f1();會呼叫a類中的f1(),它是由a類定義的,這樣就呼叫這個類的函式。f2()是虛函式。m_j->f2()會呼叫m_j儲存的物件中對應的這個函式。這是由於new b()物件。f3()和f2()一樣,但是在基類中不需要寫函式的實現。

【答案】包含純虛函式的類稱為抽象類。抽象類把有共同屬性或方法的物件抽象成乙個類。

C C 程式設計師面試寶典 2

9.關聯式資料庫的正規化 10.資料庫操作中的事務 事務的4個特性 11.數字矩陣的生成 對應的 如下 include include include define print arr2d arr,n else print arr2d arr,n 1 2 6 7 15 3 5 8 14 16 4 9...

程式設計師面試寶典 C C 記憶體分類

在進行c c 程式設計時,需要程式設計師對記憶體的了解比較精準。經常需要操作的記憶體可分為以下幾個類別。棧區 stack 由編譯器自動分配和釋放,存放函式的引數值 區域性變數的值等。其操作方式類似於資料結構中的棧。堆區 heap 一般由程式設計師分配和釋放,若程式設計師不釋放,程式節束時可能由操 作...

程式設計師面試寶典

據統計,80 的簡歷都是不合格的。不少人事管理者抱怨收到的許多簡歷在格式上很糟糕。簡歷應該如何做到在格式上簡潔明瞭,重點突出?求職信應該如何有足夠的內容推銷自己?如何控制長度,言簡意賅?相信讀了本章你會對簡歷的撰寫有乙個新的認識。2.1 簡歷注意事項 1 簡歷不要太長 一般的簡歷普遍都太長。其實簡歷...