Talk:Policies/Library Code Policy/Shared D-Pointer Example

Jump to: navigation, search

Can someone please give an example how to implement the copy constructor correctly in the base and derived class? I spent some hours to find out how it could work and I'm doing it like this:

Base(const Base &other)

: d_ptr(new BasePrivate(other.d_func()->property1,
   other.d_func()->property2...)

{ }

Derived(const Derived &other)

: Base(*new DerivedPrivate(other.d_func()->property1,
   other.property2, other.d_func()->property3....))

{ }

It works but somehow it doesn't feel like it was meant that way.

There are no threads on this page yet.

This page was last modified on 12 March 2009, at 17:12. This page has been accessed 929 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal