Private inheritance and combination

Source: Internet
Author: User

Private inheritance definition: all the Members inherited from private will become private attributes in derived.
Application Scenario: when a person who wants to become a derived class wants to access a protected component that wants to become a base class,
Or private inheritance can be used to redefine one or more virtual functions.
Knowledge point:
Private inheritance means that only the implementation part is inherited, and the interface part should be omitted.
If the inheritance relationship between classes is private, the compiler will not automatically convert a derived class object to a base class object,
Such conversions may cause errors. Remember, private inheritance is simply an implementation technology.

Replace private inheritance with compound inheritance. Because combination can avoid redefinition of virtual functions.
Example:
Class Widget: public Timer
{
Private:
Virtual void onTick () const; // view Widget data.
};

// Composite implementation
Class Widget
{
Private:
Class WidgetTimer: public Timer
{
Public:
Virtual void onTick () const; // view Widget data.
};
WidgetTimer timer;
};

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.