2012-04-10 76 views
1

使類指針指向同一類的對象的類構造函數有意義嗎?這個想法是將舊對象的所有數據複製到一個新對象。使用指向相同類對象的指針的C++類構造函數

class Shape { 
    ... 
    public: 
     Shape(string,string,...) 
     Shape(Shape*) 
} 

Shape::Shape(Shape* ref) { 
    layer = ref->layer; 
    purpose = ref->purpose; 
    ... 
} 
+2

這只是複製構造函數的指針版本。通常它使用const引用完成。看到這篇文章的更多信息:http://en.wikipedia.org/wiki/Copy_constructor – 2012-04-10 02:51:04

回答

1

不,這隻會導致混亂含糊和難以捕捉的錯誤(從指針自動轉換爲一個對象,任何人嗎?)。如果從指針初始化使其明確:

Shape s2 = *s1; 
+0

感謝nightcraker,這更有意義。 – 2012-04-10 05:22:57