Best Practices for Class Member Function Design
A common anti-pattern in class interface design can be seen in the following tree node implementation: class TreeNode { public: void updateParentPtr(TreeNode* newParent) { parent = newParent; } void changeParent(TreeNode* newParent) { // Problematic interface updateParentPtr(newParent); newParent-&g...