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
m
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
Topic-Id: '''CLSINIT'''
+
#REDIRECT [[Cpp_Coding_Standards/CLSINIT]]
 
+
Special issues of constructors, copying and destructors.
+
----
+
=== Summary ===
+
==== No Virtuals in Constructor or Destructor ====
+
Don't call your own class' virtual functions in a constructor or destructor.
+
 
+
[[/NoVirt|Details]]
+
 
+
==== Constructor Initialization Section ====
+
Use the constructors initialization section to initialize your members.
+
 
+
[[/InitSect|Details]]
+
==== Obvious Copyability ====
+
Make it obvious if the class is intended to be copied. Forbid copying otherwise.
+
 
+
[[/ObvCopy|Details]]
+
 
+
==== Copy and Assign Consistently ====
+
Declare copy and assignment operators consistently – either both, or none.
+
 
+
[[/CopyAssign|Details]]
+
 
+
----
+
=== Related Rules ===
+
* [[../Class Design#No Implicit Conversions| Class Design/No Implicit Conversions]]
+
* [[../Error Handling#Which Functions Never Fail|Error Handling/Which Functions Never Fail]]
+
* [[../Virtual Classes#Right Destructor|Virtual Classes/Right Destructor]]
+
* [[../Virtual Classes#Safe Copying|Virtual Classes/Safe Copying]]
+
 
+
----
+
[[Category:Coding Standards]]
+

Latest revision as of 10:44, 13 April 2007

Personal tools