构造函数的作用是在创建对象时

上传人:ji****72 文档编号:35843562 上传时间:2018-03-21 格式:DOC 页数:9 大小:76KB
返回 下载 相关 举报
构造函数的作用是在创建对象时_第1页
第1页 / 共9页
构造函数的作用是在创建对象时_第2页
第2页 / 共9页
构造函数的作用是在创建对象时_第3页
第3页 / 共9页
构造函数的作用是在创建对象时_第4页
第4页 / 共9页
构造函数的作用是在创建对象时_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《构造函数的作用是在创建对象时》由会员分享,可在线阅读,更多相关《构造函数的作用是在创建对象时(9页珍藏版)》请在金锄头文库上搜索。

1、第八章 一,构造函数的作用是在创建对象时,系统自动调用它来给所创建的对象初始化。 构造函数的特点: 构造函数是一种成员函数,他的说明在类体内,它的函数体可写在类体内,也可 以写在类体外。 构造函数是一种特殊的成员函数,该函数的名字与类名相同。定义和说明构造函 数时,不必指明函数的类型。 构造函数可以有一个参数或多个参数,也可以没有参数。 构造函数可以重载。 构造函数用于创建对象时的系统自动调用,也可以在程序中调用构造函数创建无 名对象。 构造函数的种类: 1.默认构造函数。 2.拷贝构造函数。二, 析构函数的功能是用来释放一个对象的。当对象结束它的生存期时,系统将自动调用 析构函数来释放该对象

2、。析构函数与构造函数的作用正好相反。 析构函数的特点: 析构函数也是一种成员函数,它的函数体可以写在类体外,也可以在类体内。 析构函数的名字同类名,与构造函数的区别是前面加。 析构函数没有参数,不能重载,也不必指明函数类型。 析构函数通常是被系统自动调用的。三, 成员函数的三个特征 内联和外联。 成员函数重载。 设置默认参数。 四, 静态成员 特点: 属于类的,可以用类名加:引用。说明方法: static 静态数据成员: 初始化方法,对象的特点。 静态成员函数: 对数据成员的访问方式不同。五, 友元函数 说明方法: friend 特点: 说明在类体内的外部数据成员,定义在类体外的非成员函数。

3、作用: 访问类中的私有成员,提供程序运行效率。 缺点: 破坏了类的封装性和隐蔽性。第九章 一, 对象指针和对象引用对象指针:指向对象的指针。都可以用于函数参数和返回值。二, 对象数组 1.定义格式: 2.对象数组元素: 3.区别:指向对象数组的指针 和 对象指针数组。三, 子对象和堆对象 子对象概念:一个对象作为另一个类的成员时,该对象称为类的子对象。子对象实际 是某类的数据成员。 堆对象:在程序运行中,根据需要随时创建的对象称为堆对象。 C+中,内存被分为 4 种储存区域: 代码区:用来存放程序代码的 数据区:用来存放全局变量、静态类变量和常量等 栈区: 用来存放局部变量、函数参数、返回值、

4、返回地址和临时变量等 堆区; 用来存放其余数据,包括对对象等使用运算符 new 创建堆对象。 使用运算符 delete 释放对象。该运算符是专门用来释放由运算符 new 所创建的变量或对象。使用 delete 的注意事项: 该运算符必须用于由 new 返回的指针。 对于一个指针只能使用一次运算符 delete。 指针名前只能使用一对方括号,而不管所释放数组的为数,并且方括号内不写任 何东西。 该运算符也适应于空指针。四, 类型转换和转换函数 类型转换包括隐含类型转换和强制类型转换。转换函数是一种强制类型转换。单参数的构造函数,提供了一种功能,可以将其他数据类型的数值或变量转 换为用户所定义的数

5、据类型。这便是单参数构造函数所具有的类型转换功能。转换函数的使用应该注意: a)转换函数是成员函数,但它必须是非静态的。 b)在定义转换函数时不能带类型说明,因为该函数名字就是类型转换的目标类 型。 c)转换函数是用来进行类型转换的,定义是不必带有任何参数。 d)转换函数不能定义为友元函数。第十章 一, 基类和派生类的概念 单继承和多继承 三中继承方式派生类构造函数的调用顺序: 基类构造函数。 子对象构造函数。 派生类构造函数。派生类析构函数的调用顺序: 先调用派生类的析构函数。 在调用派生类中子对象的析构函数。 最后调用基类的析构函数。在基类中定义有默认构造函数或者没有定义任何构造函数时,派

6、生类构造函数中省略对 基类构造函数的调用。二, 子类型 定义: 作用:子类型的重要作用就在于类型适应。第十一章 一, 运算符重载的概念 声明:operator 大多少运算符都可以重载,只有 4 个不能: . .* : ?: 运算符重载的四个不变原则: 优先性不变。 结合性不变。 操作个数不变。 语法结构不变。运算符重载的两种形式: 成员函数形式 友元函数形式 二, 静态联编和动态联编的概念 静态联编:指在程序编译阶段进行联编的,这种联编又称为早期联编,这是因为 这种联编工作是在程序运行之前完成的。 动态联编:指在程序运行时进行的联编,又称晚期联编。 继承是动态联编的基础,虚函数是动态联编的关键

7、。 三, 动态联编的条件 公有继承 虚函数 引用虚函数的方法:对象引用和对象指针、成员函数。 虚函数的特性: 派生类中的虚函数与基类中的虚函数具有相同的参数个数、对应的参 数类型,相同的返回值类型。 基类中说明的虚函数具有自动向下传给他的派生类的性质。即派生类 的虚函数中的 virtual 说明可以省略。 只有非静态数据成员函数才可以说明为虚函数。 构造函数不能说明为虚寒酸,因为对象在创建时它还没有确定的内存 空间,只有在构造后才是一个类的实例。析构函数可以是虚寒酸,并 且最好是在动态联编的时候说明成虚寒酸。 四, 抽象类 定义:抽象类是一种特殊的类,这种类不能定义对象。它的主要作用是用来组织

8、一个继承的层次结构,并由它提供一个公共的根,而相关的子类由它派 生出来。 特点:一个抽象类至少具有一个纯虚函数。 用途:抽象类用来描述一组子类的共同的操作接口,它只能用作基类,而完 整的实现由子类完成。第十三章 格式化输出 设置对齐方式,设置数据宽度。 ios:left ios:right resetiosflags(long) , setiosflags(long) ,setfill(int), setw()Cout.width(int), cout.fill(int), cout.setf(), cout.precision(),例子: void main() for(int i = 7;

9、 i1;i-)coutclass B public:virtual void fn()coutclass A public:A() a= 0;A(int i) a = i;void print() cout #includeclass Point public:Point(double i, duouble j)x=i;y=j;void Getxy()coutclass M public:M(int a)A=a;B+=a;static void fun(M m);private:int A;static int B;void M:fun(M m) cout“A=“m.Aendl;cout“B=“Bendl; int M:B=10; void main() M P(6),Q(8);M:fun(P);Q.fun(Q); 结果: A=6 B=24 A=8 B=24

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号