Difference between revisions of "Cpp Coding Standards/CLSINIT"

From Apache OpenOffice Wiki
Jump to: navigation, search
m
m
Line 1: Line 1:
#REDIRECT [[Cpp Coding Standards/Class_Construction,_Destruction_and_Copying]]
+
=== Class Construction, Destruction and Copying (CLSINIT) - Summary ===
 +
''Special issues of constructors, copying and destructors.''
 +
 
 +
===== No Virtual Calls in Constructor or Destructor <span id="NoVirt">(NoVirt)</span> =====
 +
Don't call your own class' virtual functions in a constructor or destructor.<br>
 +
[[/NoVirt|Details >]]
 +
 
 +
===== Constructor Initialization Section <span id="InitSect">(InitSect)</span> =====
 +
Use the constructors initialization section to initialize your members. [[/InitSect|Details >]]
 +
 
 +
===== Obvious Copyability <span id="ObvCopy">(ObvCopy)</span> =====
 +
Make it obvious, if the class is intended to be copied. Forbid copying otherwise. [[/ObvCopy|Details >]]
 +
 
 +
===== Copy and Assign Consistently <span id="CopyAssign">(CopyAssign)</span> =====
 +
Declare copy and assignment operators consistently – either both, or none. [[/CopyAssign|Details >]]
 +
 
 +
----
 +
=== Related Rules ===
 +
* [[../Class Design#NoConv |CLSDESIGN:NoConv]]- No Implicit Conversions
 +
* [[../Error Handling#NoFail |ERR:NoFail]] - Which Functions Never Fail
 +
* [[../Virtual Classes#RightDestr |VIRTUAL:RightDestr]] - Right Destructor
 +
* [[../Virtual Classes#SafeCopy |VIRTUAL:SafeCopy]] - Safe Copying
 +
 
 +
----
 +
[[Category:Coding Standards]]

Revision as of 10:42, 13 April 2007

Class Construction, Destruction and Copying (CLSINIT) - Summary

Special issues of constructors, copying and destructors.

No Virtual Calls in Constructor or Destructor (NoVirt)

Don't call your own class' virtual functions in a constructor or destructor.
Details >

Constructor Initialization Section (InitSect)

Use the constructors initialization section to initialize your members. Details >

Obvious Copyability (ObvCopy)

Make it obvious, if the class is intended to be copied. Forbid copying otherwise. Details >

Copy and Assign Consistently (CopyAssign)

Declare copy and assignment operators consistently – either both, or none. Details >


Related Rules


Personal tools