zoukankan      html  css  js  c++  java
  • C++学习基础十三——struct和class的区别

    来自:http://blog.sina.com.cn/s/blog_48f587a80100k630.html

    C++中的struct是对C中struct进行了扩展,它不单是一个包含不同数据类型的数据结构了,它还有其他很多的功能,例如:

    1. 声明变量和方法

    2. 继承

    3. 实现多态

    struct与class之间的两点区别:

    区别一:默认的继承访问权限

    struct继承时默认的是public继承,class默认的是private,这也就是为什么在C++中实现继承时总是写成下面这种形式的原因(明确指定是public继承):

    1 class Affect1 : public Affect{}

    struct继承时:

    1 struct A
    2 {
    3     char a;
    4 }
    5 
    6 struct B : A
    7 {
    8    int n;      
    9 }

    上述代码中结构体B对于A的继承是public。

    此外,class也能继承struct,struct也能继承class,那么继承是public还是private的取决于子类,例如:

    1 struct A{};
    2 class B : A{}; //子类是class,private继承
    3 struct C : B{}; //子类是struct,public继承

    区别二:对于自身数据默认的访问权限

    struct默认的数据访问权限是public的,而class对成员变量默认的访问权限是private的。

    总结:struct更适合看成一个数据结构的实现,而class更适合看成一个对象的实现。

  • 相关阅读:
    SAP ABAP Development Tools in Eclipseのセットアップ
    SET UPDATE TASK LOCAL (ローカル更新 )
    SEARCH(文字の検索)
    OVERLAY(文字の上書き)
    ULINE(插入水平线)
    SKIP(插入空行)
    NO-ZERO(空格补全)
    CONVERT TEXT(转换为可排序格式)
    递归获取子节点
    生活小记
  • 原文地址:https://www.cnblogs.com/calence/p/6853608.html
Copyright © 2011-2022 走看看