2014-02-26 58 views
0

我正在關注一個在線課程。我在講座中有一個疑問。他們舉了一個超載的例子,但我不認爲這是正確的。所以我需要你的幫助。關於C++中的超載

Class Location { 
    private: int x,y; 
    public: 
    void valueX (int val) {x = val;} 
    int valueX() {return x;} 
} 

這兩個函數名爲valueX但返回類型不同,是一個重載的例子嗎?請幫幫我!先謝謝你。

+0

返回類型與重載沒有任何關係...重載函數簽名應該是不同的...在這裏的情況.. – HadeS

回答

3

是的,這是超載。重載是指在同一個作用域中有兩個具有相同名稱但具有不同參數類型的函數的情況。返回類型也可能不同,但不一定是。

0

一個參數。另一個沒有。這就是爲什麼它們超載的原因

0

是的,第一個函數接受一個整數值並將x賦值給這個值integer,scecond不接受一個值並返回一個整數;嘗試進行x的類型轉換或更改其類型,並嘗試將第二個函數傳遞給另一個類型,而不是整數,以查看該函數的工作方式;你可以使用一個模板類型替換兩個函數只有一個