預設引數不能重複定義(建構函式)

2021-08-20 20:00:17 字數 464 閱讀 1994

今天做練習的時候發現了乙個很有意思的錯誤:

class box

***box(double l=0,double w=0,double h=0)

在類內定義沒有錯誤但是這樣:(在類外定義)

box::box(double l=0,double w=0,double h=0)

出現了這樣的錯誤:

'box::box' : redefinition of default parameter : parameter 3

see declaration of 'box::box'

意思大概是預設引數已經定義過了,不能重複定義,要想在類外定義把等於零去掉就好

box::box(double l,double w,double h)

建構函式的引數預設

建構函式中引數的值既可以通過實參傳遞,也可以指定為某些預設值,即如果使用者不指定實參值,編譯系統就使形參取預設值。在建構函式中也可以採用這樣的方法來實現初始化。include using namespace std class a int main 程式執行結果為 4 0可以看到 在建構函式中使用預...

Python定義函式預設引數

慕課網 定義函式的時候,還可以有預設引數。例如python自帶的 int 函式,其實就有兩個引數,我們既可以傳乙個引數,又可以傳兩個引數 int 123 123 int 123 8 83int 函式的第二個引數是轉換進製,如果不傳,預設是十進位制 base 10 如果傳了,就用傳入的引數。可見,函式...

預設構造引數

c 中可以在函式宣告時為引數提供乙個預設值,當函式呼叫時沒有指定這個引數的值,編譯器會自動用預設值代替 include 宣告時指定預設引數值,沒傳參是使用預設值 int mul int a 10 int main 只有 引數列表後面的部分引數才可有使用提供的預設引數值 一旦在呼叫中使用了預設引數,那...