2012-04-10 75 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