/*
在本例中,void func,程式有兩次析構輸出,函式func返回前析構形參 y ,同時釋放 y.p 和a.p 共用的記憶體,返回後該塊記憶體又被分配給q,而物件 a 不知道該內崔已被釋放,繼續訪問得到 a[0] = 8
*/#include
using
namespace std;
class
array
;int array::
get(
int x)
array::
array
(int s)
array::
~array()
cout <<
"deconstuct array ("
<")"<}void
func
(array y)
intmain()
輸出main:construct array (6)
main: a[0]
=1func: deconstuct array (6)
main : a[0]
=8
/*
本程式定義建構函式 array( array &r)
在呼叫函式時實現深度拷貝賦值,
*/#include
using
namespace std;
class
array
;int array::
get(
int x)
array::
array
(int s)
array::
array
(array &r)
array::
~array()
cout <<
"deconstuct array ("
<< size <<
")"<< endl;
}void
func
(array y)
intmain()
輸出main:construct array (6)
main: a[0]
=1construct array (6)
func: deconstuct array (6)
main : a[0]
=1
C 引用物件
例 int ival 1024 int refal ival 正確 是位址 int refal1 錯誤 引用必須初始化 int refal2 1024 錯誤 不是位址 引用是繫結物件的另一名字 比如 refal 實質上都等於 ival 所以 refal 2等價與 ival 2 const引用 con...
C 物件指標和物件引用
在c 中,可以說明指向類的資料成員和成員函式的指標 1 指向資料成員的指標格式如下 型別說明符 類名 指標名 2 指向成員函式的指標格式如下 型別說明符 類名 指標名 參數列 如下例 class a public int fun int b a int i int c private int a 定...
c 物件成員的引用
在程式中經常需要訪問類物件中的成員。訪問類物件中的成員可以有3種方法 例如在程式中可以寫出以下語句 stud1.num 1001 假設num已定義為公用的整型資料成員 表示將整數1001賦給物件stud1中的資料成員num。其中 是成員運算子,用來對成員進行限定,指明所訪問的是哪乙個物件中的成員。注...