导图社区 C语言思维导图
本图汇总了C语言第九章的知识点,包含析构函数、对象数组、对象指针、静态成员、对象的赋值和复制、公用数据的保护等。
社区模板帮助中心,点此进入>>
互联网9大思维
安全教育的重要性
组织架构-单商户商城webAPP 思维导图。
个人日常活动安排思维导图
域控上线
西游记主要人物性格分析
17种头脑风暴法
python思维导图
css
CSS
怎样使用类和对象
利用构造函数对类对象进行初始化
对象的初始化
如果一个类中所有的成员都是公有的,则可以在定义对象时对数据成员进行初始化
用构造函数实现数据成员的初始化
构造函数是一种特殊的成员函数,不需要用户调用,在建立时自动调用
构造函数没有返回值,只是对类的对象进行初始化
可以用一个类对象初始化另一个类对象
带参数的构造函数
构造函数名(类型1形参1,类型2形参2)
类名 对象名
用参数初始化表对数据成员初始化
类名:构造函数(【参数表】)【成员初始化表】
函数的重载
在一个类中可以定义多个构造函数,以便为对象提供不同的初始化方法,供用户选择
使用默认参数的构造函数
析构函数
析构函数是与构造函数作用相反的函数,析构函数的作用并不是删除对象。而是在撤销对象占用的内存之前完成一些清理工作,无返回值,无函数类型,无函数参数,所以不能被重载,一个类只能有一个析构函数
调用构造函数和析构函数的顺序
先构造的后析构,后构造的先析构(先进后出)
对象数组
对象数组的每一个元素都是同类的对象
对象指针
指向对象的指针
类名*对象指针名
指向对象成员的指针
指向对象数据成员的指针
数据类型名*指针变量名
指向对象成员函数的指针
数据类型名(类名::*指针变量名)(指针变量名=&类名::成员数据名)
this指针
指向本类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址
类模板
template《class 类型参数名
友元
友元函数
friend 数据类型 函数体
友元成员函数——提前引用
友元类
friend 类名
静态成员
静态数据成员
定义:static 数据类型 数据成员名(static int height)
不能用初始化表对静态数据成员进行赋值
赋值形式:数据类型 类名::静态数据成员名=初值
静态成员函数
static 数据类型 函数体【static int volume()】
在类外调用静态成员函数,要用类名和“::”运算符。无this指针,不访问非静态成员
对象的赋值和复制
对象的复制
无中生有
类名对象2(对象1)
对象的赋值
对象1=对象2
只能对已存在的数据成员赋值,不能对已存在成员函数赋值
对象的动态建立和释放
用new运算符动态建立对象,用delete运算符 释放这些内存空间。可以用指针变量访问新建立的地址
共用数据的保护
常对象
常对象必须要有初值
类名const t1(实参表) 或者const类名 对象名(实参表)
通过该对象只能调用它的常成员函数(形式:类型名 成员函数名()const;),不能调用该对象的普通成员函数
把const声明为可变的数据成员,形式:mutable 类型名 参数
常对象成员
构造函数只能用初始化表对常数据成员进行初始化
常成员函数只能引用本类中的数据成员,不能修改它们的值
指向对象的常指针
将指针变量声明为const型,其指向不能改变。即指向一个变量的地址后,不能改变指向
类名*const指针变量名——指向对象的常指针变量始终指向一个对象,但可以改变其所指对象的值
指向常对象的指针变量
const 类型名*指针变量
指向常变量的指针变量可以指向一个非const变量。可以通过指针变量访问该变量,但不能改变该变量的值
对象的常引用