C++教程,从入门到精通,chap-06

C++教程,从入门到精通,chap-06

ID:43010605

大小:718.50 KB

页数:42页

时间:2019-09-27

C++教程,从入门到精通,chap-06_第1页
C++教程,从入门到精通,chap-06_第2页
C++教程,从入门到精通,chap-06_第3页
C++教程,从入门到精通,chap-06_第4页
C++教程,从入门到精通,chap-06_第5页
资源描述:

《C++教程,从入门到精通,chap-06》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章类与对象类和对象的基本概念构造函数与析构函数内联函数静态成员对象数组指向对象的指针在函数中使用对象this指针友元类和对象的基本概念面向对象程序设计的特点封装封装性是指将代码和代码所要处理的数据绑定在一起,并采用一定的机制保证代码和数据的安全,不受外部因素的干扰多态指在继承的基础上允许使用同一个接口来访问一类通用的操作继承一个对象从其他对象中获取成员的过程定义类在定义一个类时,需要定义它所封装的数据和函数class类名{数据成员;成员函数;};访问权限类型Private表示私有类型,它表示该类数据成员和成员函数都是类的私有成员,只能被本

2、类中的成员函数访问。private关键字可以省略不写,但是要求所有的私有成员都写在类中开始的位置。Public表示公有类型,它表示该类数据成员和成员函数都是类的公有成员,既可以被本类中的成员函数访问,也可以被类之外的函数访问。因此公有成员可以作为类与外部的接口。Protected表示保护类型,它表示该类数据成员和成员函数都是类的保护成员,这样的成员允许其他的类继承。定义类的通式class类名{private:私有数据成员私有成员函数public:公有数据成员公有成员函数protected:保护数据成员保护成员函数};定义对象在定义类之后,就可

3、以定义这个类的对象了。例如,要定义一个Circle类的对象objCircle,就可以使用下面的语句:CircleobjCircle;Circle是类名objCircle是对象名。类在定义完成并经过编译后系统并不会在内存中为这个类分配空间,而是在定义了这个类的对象的时候才会为这个对象分配内存空间。因此可以说类是一个抽象逻辑框架,它定义了它的成员之间的关系,而对象则是类的实例,只有对象才真正占用内存空间。使用类和对象一位数的四则运算构造函数与析构函数构造函数所谓构造函数就是在对象创建时起作用的一个特殊成员函数,因此通常使用构造函数来实现类中数据的

4、初始化。构造函数从形式上看就是一个函数,但是规定它必须与类的名字一致,并且没有返回类型。析构函数析构函数则是构造函数的补充。析构函数是在对象被销毁之前起作用的特殊成员函数,通常用于做一些收尾的工作。析构函数看起来也与一般成员函数一样,但是它的函数名必须是它所属类的类名前面加上一个~,并且同样不允许有返回值。使用构造函数和析构函数关于构造函数的说明虽然构造函数不允许有返回值,但是它可以带一个或多个参数。参数的写法与一般函数的参数一样,只是在调用这个构造函数的时候必须指明参数的值。内联函数内联函数内联函数存的意义在并不是为了实现面向对象程序设计,

5、而是为了提高程序的执行效率。如果定义一个类的成员函数是内联函数,那么在调用内联函数时,这个函数是在被调用的点进行内联扩展,即把被调用的内联函数的代码原样不动地复制到主调函数中,而无须进行前面提到的所有操作,这样可以省略很多CPU时间,因此它可以使程序的整个运行速度加快。定义内联函数第一种方法是在定义类时把函数的函数体写在类的里面第二种方法是仍然在类中只写成员函数的原型,而在类的外面定义成员函数的函数体时在前面加上inline关键字。使用内联函数静态成员静态成员静态数据成员和静态成员函数定义方法在定义数据成员和成员函数原型时在前面加上stati

6、c关键字。C++认定静态成员与全局变量一样,在整个文件的作用域内有效,因此对静态数据成员的初始化和函数体的定义都必须在类的外面,并且不用定义类的对象,就可以访问静态数据成员。使用静态数据成员对象数组定义对象数组定义对象数组的方法与定义普通数组的方法相似。只要定义了类,就可以定义这个类的对象数组。使用对象数组指向对象的指针定义指向对象指针的方法与前面讲到的定义指针的方法相似。例如,如果定义了类test,它有两个公有数据成员i和j,以及一个公有成员函数print(),那么就可以采用下面的方法定义一个指向对象的指针p:test*p;为这个类创建了一

7、个对象mytestp=&mytest;为了能够通过p来访问mytest的成员i,j和print,需要使用指向操作符“->”:p->ip->jp->print使用指向对象的指针来创建对象使用new运算符创建对象test*p=newtest;或者test*p;p=newtest;使用delete运算符销毁对象deletep;使用指向对象的指针使用指向对象的指针实现例6.6的功能在函数中使用对象在函数中使用对象时构造函数与析构函数的作用通过引用传递对象让函数返回一个对象this指针thisthis在C++中是一个关键字,每次调用类的成员函数时都会有

8、一个this指针自动指向调用这个函数的对象。在成员函数内部,可以使用this指针来访问这个类的所有私有数据。使用this指针友元友元一般情况下,只有类的成员函数才可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。