C 建構函式的過載

2021-08-19 01:17:56 字數 905 閱讀 2746

建構函式的過載與普通函式的過載基本相同,下面附**

#include

using namespace std;

class myclass{

private:

int data_1;

int data_2;

public:

myclass(int data1, int data2){

cout<<"呼叫兩引數的建構函式"<

顯示 呼叫兩引數的建構函式

data_1 = 10

data_2 = 20

呼叫一引數的建構函式

data_1 = 30

data_2 = -1

呼叫無引數的建構函式

data_1 = 0

data_2 = 0

需要注意的是:宣告物件時如果需要呼叫無引數的建構函式正確寫法應該是

myclass myclass4;

而不是

myclass myclass4();

這樣編譯器不會提示錯誤但如果之後又呼叫了物件myclass4的函式或資料就會出現

error: request for member 『show』 in 『myclass_3』, which is of non-class type 『myclass()』

錯誤。

這是因為編譯器將myclass myclass4()看作乙個返回值為class型別的函式的宣告,該函式無任何引數。

但如果在賦值語句中顯式的呼叫建構函式必須使用圓括號:

myclass4 = myclass();正確;

myclass4 = myclass;出錯;

C 過載建構函式

1.過載建構函式 建構函式也具備了過載的特性。include using namespace std class rectangle rectangle int l,int w 大括號中就是函式索要執行的功能。const成員或者引用成員都是不可賦值的,因此只能進行初始化。include using ...

C 建構函式的過載

剛看了一段 是關於建構函式的過載!其實以前學校c 的時候已經學過。但是現在再看c 的時候,雖然是一樣的,但是還是有很多沒明白。比如下面的乙個問題還是經過除錯後,才發現的。雖然問題不大,不過如果用手寫的話,就會造成嚴重的錯誤!using system using system.collections....

C 建構函式的過載

c 中的建構函式也可以應用方法過載。c 中有預設建構函式,也可以定義帶引數的建構函式。建構函式必須與類同名,並且不能有返回值。所以c 建構函式過載相當於不同數量的引數方法過載。using system class animal public animal string name,string col...