Symbian3/SDK/Source/GUID-96C7CBD4-4B25-5AA1-A54F-1764B54FDC7E.dita
changeset 0 89d6a7a84779
equal deleted inserted replaced
-1:000000000000 0:89d6a7a84779
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-96C7CBD4-4B25-5AA1-A54F-1764B54FDC7E" xml:lang="en"><title>How
       
    13 to write a derived class with two-phase construction</title><shortdesc>This document illustrates how to implement two-phase construction
       
    14 in a derived class with example code.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    15 <p>When writing a derived class, you must use the derived class <codeph>ConstructL()</codeph> to
       
    16 call the correct base class <codeph>ConstructL()</codeph>. </p>
       
    17 <p>Call the base class <codeph>ConstructL()</codeph> before the derived-class
       
    18 specific construction starts. This mirrors the action of C++ constructors.</p>
       
    19 <codeblock id="GUID-DA0E4184-AC27-565F-9DA1-2CBB59A1E949" xml:space="preserve">class CCompoundDerived : public CCompound
       
    20     {
       
    21 public:
       
    22     ...
       
    23 protected:
       
    24     ...
       
    25     void ConstructL();
       
    26 private:
       
    27     ...
       
    28     };</codeblock>
       
    29 <codeblock id="GUID-C67C0AC0-8974-54C2-AEBE-0557DA7C6838" xml:space="preserve">void CCompoundDerived::ConstructL()
       
    30     {
       
    31     this-&gt;CCompound::ConstructL();
       
    32     // own construction
       
    33     }</codeblock>
       
    34 </conbody></concept>