struct 和class


    struct

    1. c++中的结构体可以有一个或多个构造函数,在声明时调用。
    2. c++中的函数(不只是构造函数),参数可以有默认值。
    3. c++ 结构体的成员函数中,this是指向当前队形的指针。
    
    struct Point
    {
      int x,y; 
      Point (int x=0,y=0):x(x),y(y){}//可以默认值
    };
    struct Point {
    int x,y;
    Point (int x=0;y=0){this->x=x;this->y=y;}//也可以这样进行初始化
    



    class

    属性

    1. 聚合类(aggregate class),同c语言中类相同,可以直接初始化(列表初始化); 聚合类的缺点
      1. 要求必须是public 的
      2. 冗长乏味
      3. 删除一个或增加一个成员,所有的初始化语句都需要更新

    2. 7.5.6 字面值常亮类
      1 如果是聚合类,要求所有的字面值
      2 不是聚合类
      • 数据成员必须是字面值类型
      • 类型必须至少含有一个constexpr
      • 如果一个数据成员有类内初始值,该类型成员的初始值必须为敞亮表达式,如果成员属于某种类类型,则初始值必须使用自己的contexpr构造函数
      • 类必须使用析构函数的默认定义,该成员负责销毁类的对象
      contexpr 构造函数
      一个字面值常亮类必须提供至少一个constexpr 函数

      类的静态成员 static
      必须在类的外部初始化每个静态成员


    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值