C++的类

定义

将现实中的事物归纳总结,并用变量和方法去描述形成的模型。是模块化代码的一种,有利于代码重用
eg.

class Person
{
public:              //公有,外部对象可以直接访问和修改
    explicit Person();      //构造函数,一般在构造函数中会将对象的成员变量进行初始化
     ~Person();                //析构函数,一般会将类申请的资源回收
    char* getName(){ return szName;};       //在函数内实现的函数,默认为内联函数
    inline void setName();                  //正常声明的内联函数
protect:             //保护,外部对象不可以直接访问和修改
private//私有,外部对象不可以直接访问和修改
    int m_id;        //成员变量
    char szName[];
    int a;  
    int b;
    int c;
}

void Person::Person() :
    a(1),b(2),c(a+b)    //类的初始化列表
{

}

void Person::~Person()
{

}

重点

1.explicit关键词可以防止类对象被隐式转换
2.如果不希望类的使用者对类进行初始化,那么将构造函数设置为私有
3.类的初始化列表的效率比在构造函数中赋值高,但是如果初始化的参数之间有因果关系,那么要注意初始化列表参数的顺序,编译器是根据成员变量声明的顺序来初始化的
4.一个类如果不存在构造、析构、copy构造和copy assignment操作符函数,编译器会默认生成,其中copy构造和copy assignment操作符只会单纯的将成员变量拷贝到新的类,如果该实现不能满足需求,请自己实现
5.this指针:一个指向类对象的指针,在类中可以用this指针去访问类的成员变量和方法。编译器一般会将this指针存放在类对象的开头位置。
6.如果说是空类,编译器会默认赋值1字节内存给类对象
7.类的继承和多态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值