advertisement
Login | Register   
  Include Code  Search Tips
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
While we're at it, what other changes in constructors would you like to see in C++09? Let us know in the C++ Forum.
Partners & Affiliates
advertisement
advertisement
advertisement
advertisement
Average Rating: 4.2/5 | Rate this item | 5 users have rated this item.
 

Use Delegating Constructors to Eliminate Initialization Code Reduplication

Recently, the standardization committee approved a proposal to add delegating constructors to C++. Learn how to use the delegating constructor to simplify the design of multi-constructor classes, reduce code reduplication, and eliminate bugs. 


advertisement
Many object-oriented programming languages allow a constructor to delegate its object initialization to another constructor of the same class. But in C++98, this isn't permitted. Consequently, a C++ class with multiple constructors often contains duplicate initialization code. This causes maintenance problems and reduces code readability. Recently, the standardization committee approved a proposal to add delegating constructors to C++. While it may take some time before your favorite C++ compiler supports this feature, it's still a good idea to learn how using delegating constructors can simplify the design of multi-constructor classes, reduce code reduplication, and eliminate bugs.


How do you delegate common initialization operations to a single constructor of a class, allowing other constructors to invoke that constructor?


Define a target constructor that takes care of common initialization operations and let other constructors invoke it.

  Next Page: Demonstrating the Problem
Page 1: IntroductionPage 3: Delegating and Target Constructors
Page 2: Demonstrating the Problem Page 4: Overloading
Please rate this item (5=best)
 1  2  3  4  5
advertisement