C 定義乙個類,類的成員變數沒有指標

2021-10-01 15:33:28 字數 2376 閱讀 2427

程式設計環境:win10,vs2017

#include

**01

namespace

ds01 ;

//測試程式

void

testdssize() }

intmain()

輸出address s1 = 008ff8f7

address s2 = 008ff8eb

address s3 = 008ff8df

建立三個物件,三個物件的位址不同,是三個不同的物件。

**02

namespace

ds02 ;

//測試程式

void

testdssize1()

void

testdssize2() }

ds02::testdssize1() 的輸出

address s1 = 010ffbac

ds02::testdssize2() 的輸出

address s1 = 010ffbac

address s2 = 010ffb9c

**03

namespace

ds03 ;

//測試程式

void

testdssize1() }

ds03::testdssize1() 的輸出

address s1 = 0067f8f8 width=1 height=1

**04

namespace

ds04

//在建構函式初始化成員資料

public

: int

width = 1;

intheight = 1;

}; //測試程式

void

testdssize1() }

ds04::testdssize1() 的輸出

address s1 = 00f9fe08 width=0 height=0

address s2 = 00f9fdf8 width=0 height=0

s1 ,s2

成員資料初始化的結果是0,不是1.

**05

namespace

ds05

//拷貝構造

dssize(

const

dssize

& size

) : width(

size

.width), height(

size

.height) {} //

拷貝賦值

const

dssize

& operator =

(const

dssize

& size)

return

*this; }

//其他構造

dssize(

const

int&

width

, const

int&

height

) :width(

width

), height(

height

) {}

dssize(

const

dssize

* size)

else }

//析構 ~dssize()

public

: const

int& getwidth()

const

const

int& getheight()

const

private

: int

width;

intheight;

}; //過載運算子 << ,不能在類的內部定義,只能放在類的外部定義。

ostream

& operator <<

(ostream

& out

, const

dssize

& size)

//測試程式

void

testdssize1() }

ds05::testdssize1() 的輸出

s1 : address=0x00d3fdb0 width=0 height=0

s2 : address=0x00d3fda0 width=0 height=0

s3 : address=0x00d3fd90 width=0 height=0

s4 : address=0x00d3fd80 width=10 height=5

s5 : address=0x00d3fd70 width=1 height=1

析構析構

析構析構

析構

C 乙個類呼叫另乙個類的成員變數 成員函式

有時候,兩個類之間並沒有繼承的關係,但是其中乙個類需要引用另乙個類中的成員變數或者成員函式。怎樣辦到呢?假設已經新建了兩個類a b。class a class b 現在需要在類a的成員函式中呼叫類b的成員變數b nadd b x,使得a nadd與b nadd相加,那麼只需要在類a的.cpp檔案中包...

任何乙個類只要沒有成員變數,就是執行緒安全的

今天在複習 springmvc 時,看到一篇文章,寫到 springmvc的控制器是不是單例模式,如果是,有什麼問題,怎麼解決?答 是單例模式,所以在多執行緒訪問的時候有執行緒安全問題,不要用同步,會影響效能的,解決方案是在控制器裡面不能寫字段。對這個回答中的 不能寫字段 來實現單例類中的執行緒安全...

C 空類以及沒有成員變數的類的大小

關於c 中空類的大小為1,我們大家都有所了解,但是除了空類之外的其他一些沒有成員變數的類的大小,還是有很多不明之處的。include usingnamespacestd classa classb classc publica classd publicb,publicc intmain 程式執行的...