使用类构造器来获取指向同一类对象的指针是否有意义。这个想法是将所有数据从旧对象复制到新对象。
class Shape {
...
public:
Shape(string,string,...)
Shape(Shape*)
}
Shape::Shape(Shape* ref) {
layer = ref->layer;
purpose = ref->purpose;
...
}
不,这只会导致令人困惑的歧义和难以捕获的错误(从指针到对象的自动转换,有人吗?如果从指针初始化,则使其显式:
Shape s2 = *s1;