Difference between revisions of "Cpp Coding Standards/Class Construction, Destruction and Copying"

From Apache OpenOffice Wiki
< Cpp Coding StandardsRedirect page
Jump to: navigation, search
m (No Virtual Calls in Constructor or Destructor <span id="NoVirt">(NoVirt)</span>: formatting)
m
 
Line 1: Line 1:
=== Class Construction, Destruction and Copying (CLSINIT) - Summary ===
+
#REDIRECT [[Cpp_Coding_Standards/CLSINIT]]
''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]]
+

Latest revision as of 10:44, 13 April 2007

Personal tools