C++(部分)

1、类

类:描述一类事物的属性和行为的自定义的数据类型

     访问限定符:pblic修饰的成员可以在类内被访问,也可以在类外内访问

                           private和protected修饰的成员只能在类内被访问

对象:类这种自定义的数据类型定义的变量

类的数据类型是抽象的,对象的数据类型是 具体的实体

2、封装

C++的三大特性;封装、继承、多态

封装:把一类事物的属性和行为用类这种自定义的数据类型包起来,把需要隐藏的隐藏起来,把可以暴露的暴露出来,这就叫封装 

3、This指针

This指针:指向当前类对象,谁正在调用成员函数,谁就是当前类对象

       Public:成员在类内和类外都可以被访问

       类内:在成员函数中可以直接被访问

       类外:必须先有对象,然后通过对象进行访问不管在类内还是类外,访问成员必须要有对象,通过对象.成员或者对象指针->成员的方式进行访问

4、构造函数和构析函数

构造函数:给成员变量初始化的

谁调用的:系统自动调用(当未定义时,系统自动提供构造函数,定义时,系统不提供)

构造函数的定义:

  1. 函数名和类名相同
  2. 无返回值
  3. 参数不限制(构造函数可以有多个,可以重载)                                                                    

构析函数:

定义: 

  1. 函数名是~类名
  2. 无参
  3. 无返回值
  4. 作用:回收资源,比如在构造函数中在堆区申请空间,在析构函数里去释放

5、Static函数

在C中:

  1. 修饰局部变量时延长了局部变量的生命周期
  2. 修饰全局变量时限制了全局变量的作用域
  3. 修饰函数时限制了函数的作用域

在C++中:static修饰成员变量

  1. 必须在类内声明在类外定义(原因:static修饰的变量在编译阶段就会开辟空间,而类在编译解决没有空间,成员变量又是类的一部分,有矛盾,而声明不分配空间,定义才分配空间
  2. 先于对象而存在,一个类只有一份,所有对象共享,不占某个对象内存空间大小
  3. 在类外可以直接通过类名加作用域的方式进行访问

6、Const函数

Const修饰的成员函数

  1. const修饰的成员函数中不能修改任何成员变量的值
  2. Const看似在修饰成员函数,实则是在修饰这个成员函数的第一个形参this
  3. 常成员函数只能调用常成员函数

 Const修饰的对象:

  1. 不能作为左值
  2. 只能调用const修饰的成员函数
  3. 不能修改成员变量的值

7、Mutable函数

Mutable:可变的,易变的

如果一个成员变量被mutable修饰,那么这个成员变量在const修饰的成员函数中也可以被修改

8、友元函数

打破了封装

私有的或者受保护的成员只能在类内被访问不能在类外被访问,如果确实是需要访问私有的成员,就需要留公有的接口来访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值