zoukankan      html  css  js  c++  java
  • What are the differences between struct and class in C++?

    Question:

    This question was already asked in the context of C#/.Net.

    Now I'd like to learn the differences between a struct and a class in C++. Please discuss the technical differences as well as reasons for choosing one or the other in OO design.

    I'll start with an obvious difference:

    • If you don't specify public: or private:, members of a struct are public by default; members of a class are private by default.

    I'm sure there are other differences to be found in the obscure corners of the C++ specification.


    Answer:

    You forget the tricky 2nd difference between classes and structs.

    Quoth the standard (11.2.2):

    In absence of an access-specifier for a base class, public is assumed when the derived class is declared struct and private is assumed when the class is declared class.

    And just for completeness' sake, the more widely known difference between class and struct is defined in (11.2):

    Member of a class defined with the keyword class are private by default. Members of a class defined with the keywords struct or union are public by default.


  • 相关阅读:
    MySQL 多会话之间更新数据的小实例
    MySQL Profile
    MySQL Explain
    MySQL 索引
    利用网站上传漏洞使用一句话木马控制服务器
    kali之nmap
    kali之使用sqlmap进行sql注入
    kali之DVWA
    Kali安装nessus
    openvas
  • 原文地址:https://www.cnblogs.com/vigorz/p/10499208.html
Copyright © 2011-2022 走看看