(原)第2章 類

2021-04-18 22:10:10 字數 1475 閱讀 6127

class fraction

private:

int m_numerator;

int m_denominator;

};int main()

class fraction 

fraction(const fraction& other)

:m_number(other.m_number),m_denom(other.m_denom)

fraction & operator= (const fraction& other)

fraction multiply(fraction f2)

static void report();

private:

int m_number;

int m_denom;

static int ctors;

static int copies;

static int assigns;

};int fraction::copies = 0;

int fraction::ctors = 0;

int fraction::assigns = 0;

#include

int main(int argc, char *argv)

void fraction::report()

1 )使用結構的主要優勢是什麼?

2  )指出類與結構之間存在的至少乙個不同點。

類與結構的不同點:1,雖然結構與類的型別不一樣,可是他們的基型別都是物件。2,雖然結構的初始化也用了new操作,,可結構物件分配在站上,而不是堆上,3,結構是可以沒有繼承的。4,結構沒有預設的建構函式,但是可以新增建構函式,沒有析構函式,沒有抽象和封裝的概念,在結構中初始化例項欄位是錯誤的。

3  )類作用域與塊作用域有何不同

4  )描述應該使用友元函式的兩種情形。

友元機制允許非成員函式訪問乙個類的私有資料,友元可以是乙個類,也可以是另外乙個類的成員函式,還可以是任何乙個非成員函式。1種情形是使用工廠方法,還有一種是使用全域性操作符函式。

5  )靜態資料成員和非靜態資料成員相比有什麼不同?

6  )靜態成員函式和非靜態成員函式之間有什麼不同?

乙個類的靜態資料成員也僅僅在程式開始執行之前建立一次,同樣在程式終止的時候銷毀。靜態資料物件不屬於某個特定的物件。它是被該類的所有物件共享。

靜態成員函式只能訪問靜態成員,它沒有this指標,屬於整個類而非類的物件。

7  )把乙個函式申明為const有什麼實際含義

表明此函式不能改變主物件的狀態,也就是this是乙個指向const變數的指標。

8  )試解釋如果某個類t有乙個原形如下的建構函式將會出現什麼問題?t::t(t other);

會出現編譯錯誤。

補充:轉換建構函式:可以只用乙個(不同型別的)引數進行呼叫的建構函式。使用關鍵字explicit將阻止隱式機制使用此建構函式。

class timer

第2章 排序演算法(續原博)

package com.page1 public class maxpq public void insert key v public key max public key delmax public boolean isempty public int size public boolean l...

《數值分析(原書第2版)》 第2章 方 程 組

物理定律控制著所有的工程結構,從摩天大樓與橋梁,到跳水板以及醫療裝置.靜態或者動態的受力使得物體變形或者扭曲.扭曲的數學模型是結構工程師工作桌上的基本工具.結構在受力時可以扭曲的度數依賴於物質的強度,該強度使用楊氏 young 模量來度量.壓力和強度之間的競爭關係可以使用微分方法進行建模,在離散化後...

Programming Pearls第2章思路總結

給定乙個最多包含40億個隨機排列的32位整數的順序檔案,找出乙個不在檔案中的32位整數。答案見 此部落格 總結 時刻想著利用二分搜尋來解決問題 思路一 若要旋轉k位,則每個字元向前 向後 移動k位。此方法只須n次操作,且僅需乙個元素的額外空間,但此方法實際沒比較慢,因為不能很好地利用cache。思路...