快捷搜索: 王者荣耀 脱发

C++——面向对象——基础

面向对象基础

引入

  1. c++ 是一门面向对象编程的语言
  2. 在C语言中程序 是由算法与数据结构组成的,在C++ 中可以说程序是由对象组成的 对象 == 数据 + 算法
  3. C ++ 具有三大特性 封装(C++具有集合性 由类来体现 类是有一类具体事务抽向出来的,是对数据和算法的封装 ,类可以实例化为对象) , 继承(在C++中为了提供代码的重用性,支持类的继承,子类可以继承父类的共有的和父类中受保护的成员),多态(允许将子类类型的指针赋值给父类,给与父类接口多种实现方式) 在C++中所有动作必须由对象调用,对象是实体是实际存在的

成员访问修饰符

  1. public:(公共的) 这在任何地方可以使用
  2. protected(受保护的):仅本类和奔=本类的派生类可见
  3. private:(私有的):仅本类可以使用 注:类与结构体小区别:结体成员默认共有的 , 类成员默认私有的

接口函数

set() 和 get() 在外部提供使用使用内部数据的接口 接口:规定别人必须按照我的规划执行 目的:

  1. 所有完成这件事的方法屏蔽
  2. 提供一个唯一可以完成这件是的接口

构造函数

可以由一个或者多个,在定义实例化对象时只调用一个,如果类中没写会调用一个默认的构造函数 构造函数可以传参数

析构函数

回收对象所占有的空间(堆区空间) 删除类中指针成员在堆指向的空间,句柄成员也要在析构函数中删除 对象的生命周期结束,自动调用会析构函数,,一个类中只能有一个析构函数

类中初始空间分配

  1. 类中没有数据成员时,类的类型长度是一字节,是占位符
  2. 类中数据成员变量是在生成对象时占用空间的
  3. 类中的方法成员实在类的编译时生成的存在的属于代码段,存在于字符常量区

this指针

  1. 在C++ 中在使用类的方法时,因为方法实现存在,可以使用指针访问
  2. this指针是C++ 自动生成指向本类或者本对象的指针
  3. C++ 中的成员方法是由隐藏默认参数的 是 类名 * this this 的默认值是调用当前方法对象的首地址

初始化列表

// 语法 构造函数(参数):初始化列表 参数(值)
		//{	

		//}
// 在{} 内部的是赋值不是真正的初始化,初始化列表中的才是真正的初始化

初始化顺序是按照定义的顺序初始化的,谁先定义谁先初始化 注:const 成员只能在初始化列表中初始化

const 函数 与 类中的常成员

const 类型 * 被指向空间不可修改

类型 const * 所指方向不可以修改

  1. 常数据——只能在初始化成员列表中赋初值
  2. 常函数——不能修改参数数据
  3. 常对象——只能调用常方法 原因:对象属性发生变化所有指针变为 const 类型 * 所指向空间内的值变为不可修改

类中的static成员

  1. 静态数据成员——必须在类外以与调用的方式进行初始化
  2. 静态函数——只能使用静态数据——因为没有实列化时也可以使用静态函数
  3. 使用原因: 保证所有对象中的同一个数据一致 , 不是是每个对象都保存这个变变量,程序中只有一份
  4. 使用时可以用对象名访问,也可以用类名访问,通俗的说就是静态数据成员时是属于类的
  5. 静态成员函数中没有默认的this 指针成员 ,主要用于访问静态成员,也是属于类的成员

内联函数inline

相当于宏(直接替换过来)直接将函数体替换到当前位置,节约函数调用的时间 在C++ 头文件件中直接定义的函数默认为内联函数 使用时,代码简单调用时间少,有点节约调用时间

友员关系

  1. 函数函数
  2. 友员类 对朋友公开自己私有的或者受保护的成员
经验分享 程序员 微信小程序 职场和发展