Article 5: Understand what functions C + + silently writes and calls

Source: Internet
Author: User
When the following empty class is written: Class empty{}; class Empty {Public:empty () {}//default constructor empty (const empty&) {}//default copy constructor ~empty () {} The default destructor empty& operator= (const empty&) {}//default assignment operator}; the destructor for the compiler output is a non-virtual version, unless the class base The class itself declares a virtual destructor. The compiler outputs the copy constructor and the copy assignment operator, simply copying each non-static member variable from the object to the target object. Special: When one of the following two conditions is not met, the compiler rejects the output operator=1. If class contains referenc or const members, you must define the copy assignment operator yourself. 2. If a base class declares the copy assignment operator as private, the compiler refuses to generate a copy assignment operator for the derived class.

Article 5: Understand what functions C + + silently writes and calls

Related Article

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.