Difference between revisions of "Cpp Coding Standards/Class Construction, Destruction and Copying"
From Apache OpenOffice Wiki
m |
m |
||
Line 24: | Line 24: | ||
---- | ---- | ||
=== Related Rules === | === Related Rules === | ||
− | * [[../Class Design# | + | * [[../Class Design#NoConv |CLSDESIGN:NoConv]]- No Implicit Conversions |
− | * [[../Error Handling# | + | * [[../Error Handling#NoFails |ERR:NoFails]] - Which Functions Never Fail |
− | * [[../Virtual Classes# | + | * [[../Virtual Classes#RightDestr |VIRTUAL:RightDestr]] - Right Destructor |
− | * [[../Virtual Classes# | + | * [[../Virtual Classes#SafeCopy |VIRTUAL:SafeCopy]] - Safe Copying |
---- | ---- | ||
[[Category:Coding Standards]] | [[Category:Coding Standards]] |
Revision as of 11:51, 29 November 2006
Topic-Id: CLSINIT
Special issues of constructors, copying and destructors.
Contents
Summary
No Virtual Calls in Constructor or Destructor (NoVirt)
Don't call your own class' virtual functions in a constructor or destructor.
Constructor Initialization Section (InitSect)
Use the constructors initialization section to initialize your members.
Obvious Copyability (ObvCopy)
Make it obvious, if the class is intended to be copied. Forbid copying otherwise.
Copy and Assign Consistently (CopyAssign)
Declare copy and assignment operators consistently – either both, or none.
Related Rules
- CLSDESIGN:NoConv- No Implicit Conversions
- ERR:NoFails - Which Functions Never Fail
- VIRTUAL:RightDestr - Right Destructor
- VIRTUAL:SafeCopy - Safe Copying