類與物件特性 建構函式分類與呼叫

2021-10-11 03:24:03 字數 676 閱讀 7474

建構函式分類

按引數分為:有參和無參構造

按型別分為:普通構造和拷貝構造

呼叫方式

呼叫方式有種:括號法,顯示法,隱式轉換法。

#include

#include

using

namespace std;

class

person

person

(int a)

//有參建構函式

person

(const person &p)

//拷貝建構函式

~person()

//析構函式

int age;};

void

test01()

intmain()

注意事項

使用預設構造不可加括號 如:person p1(), 編譯器會識別成函式宣告,就像void func();

person(10); 匿名物件,使用完,系統立即**匿名物件

不要使用匿名拷貝建構函式 初始化匿名物件,編譯器會認為 重定義 如:person(p3)等價於person p3

// person(p3)

類和物件 物件特性 構造函式呼叫規則

預設情況下,c 編譯器至少給乙個類新增三個函式 預設建構函式 無參,函式體為空 預設析構函式 無參,函式體為空 預設拷貝建構函式,對屬性進行值拷貝 構造函式呼叫規則如下 include using namespace std 按照引數分類 有參構造 預設構造 無參構造 按照型別分類 普通構造 拷貝構...

類和物件 物件特性 函式的分類和呼叫

兩種分類方式 按引數分類分為 有參構造和無參構造 按型別分類分為 普通構造和拷貝構造 三種呼叫方式 括號法顯示法 隱式轉換法 特點 當前行執行結束後,系統會立即 掉匿名物件 person類 class person person int a 拷貝建構函式 person const person p ...

類與物件 複製建構函式

二進位制複製不複製指向的記憶體單元,這導致兩個 mystring 物件指向同乙個記憶體單元。函式 usemystring 返回時,變數 str 不再在作用域內,因此被銷毀。為此,將呼叫 mystring 類的析構函式,而該析構函式使用 delete釋放分配給 buffer 的記憶體,這將導致 mai...