第4章 类与对象

时间:2019-06-16
本文章向大家介绍第4章 类与对象,主要包括第4章 类与对象使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

什么是对象?

只要是客观存在的事物都是对象。

类与对象的关系?
对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型。
它们的关系是,对象是类的实例,类是对象的模板。
 
抽象:数据抽象 和 行为抽象
 
封装:将抽象得到的数据和行为组合成一个“类”
 
继承:使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
 
多态:运行时多态(基类指针 / 基类引用 / 函数类) 和 编译时多态(重载:函数重载 / 运算符重载)
 
:可以实现对数据的封装及隐蔽
        数据成员 和 函数成员
        类的成员函数名需要用类名来限制     返回值类型  类名::函数成员名(参数表) {               //::作用域区分符,用于标识属于什么类的成员。
                                                                               函数体 } 

访问控制                含义                  属性
public                  公有成员                类的外部接口
protected            保护成员           仅允许本类成员函数及派生类成员函数访问
private                私有成员              仅允许本类成员函数访问

     使用 对象名.数据成员名 只能访问公有成员

     对象指针变量名->公有成员

类成员函数的默认值一定要写在类的定义中

内联成员函数
1、成员函数的函数体定义在类内部          2、使用关键字inline
 
函数重载
函数名相同,但参数不相同(类型不同,或者个数不同)的一组函数。
 
构造函数       为对象分配空间  对数据成员赋初值
类名::类名(){} 
函数名(参数列表):初始化列表                //初始化列表的形式: 成员名1(形参名1),成员名2(形参名2),成员名n(形参名n) 
{  函数体 / 空函数体 } 

复制构造函数
类名 :: 类名( 类名  &  对象名  ,  …){ }
1、类的一个对象去初始化该类的另一个对象     2、函数的形参是类的对象       3、函数的返回值是类的对象
 
析构函数
类名::~类名()
{
       函数语句
}
 
组合类中构造函数(复制构造函数同)和析构函数的调用顺序:
先调用内嵌对象的构造函数,再调用本类对象的构造函数。如果有多个内嵌对象,按照内嵌对象在组合类中的声明顺序依次调用,即先声明者先构造。
析构函数的调用顺序,与构造函数的调用顺序相反
 

原文地址:https://www.cnblogs.com/jyf13/p/11033206.html