目前分類:C / C++ (2)

瀏覽方式: 標題列表 簡短摘要

初學者剛接觸程式語言時常會聽到Override與Overload,但常分不清其中的差別,我以兩個簡單的C++範例說明一下。

 

Override  覆載

建立一個Class 命名為Shape,並且他有一個public function為getShapeType,此時再建立一個class命名為Triangle,並繼承Shape,這時候改寫從Shape繼承下來的function,如此一來,原本class Shape呼叫getShapeType()的時候會回傳字串"Shape",而class Triangle繼承Shape並Override getShapeType(),因此變成回傳字串"Triangle"

class Shape
{  
    public void getShapeType()  
    {  
        return "Shape" ;
    }  
}  
  
class Triangle : Shape
{  
    public void getShapeType()  
    {  
        return "Triangle" ;  
    }  
}  
  

 

文章標籤

橘子亂說話 發表在 痞客邦 留言(2) 人氣()

剛開始學習C語言或C++的時候,最常碰到的問題就是傳值,是使用call by value 呢 ? 還是 call by address (call by pointer)或者call by reference,究竟我要在哪個時機點使用他們,哪個效率會比較好,小弟我都會在這篇簡單的講解一下,順便喚醒大學時的記憶吧QQ

 

Call by value

使用方法 : 

int main() {
    int a = 1 ;
    int b = a ; //將a的值複製到b的新記憶體區域

    return 0;
}

 

文章標籤

橘子亂說話 發表在 痞客邦 留言(1) 人氣()