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

< Talk:Policies‎ | Library Code Policy
Revision as of 17:12, 12 March 2009 by Tampakrap (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.


This page was last modified on 12 March 2009, at 17:12. This page has been accessed 932 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