(3)--第3章 类与对象面向对象程序设计.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《(3)--第3章 类与对象面向对象程序设计.pdf》由会员分享,可在线阅读,更多相关《(3)--第3章 类与对象面向对象程序设计.pdf(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 类与对象计算机科学与工程学院学习目标学习目标掌握类的概念掌握类的概念理解对象与类的关系,掌握对象的创建和使用理解对象与类的关系,掌握对象的创建和使用掌握构造函数、析构函数的概念及使用方法掌握构造函数、析构函数的概念及使用方法掌握内存动态分配的概念和使用方法。掌握内存动态分配的概念和使用方法。掌握对象数组和对象指针。掌握对象数组和对象指针。计算机科学与工程学院类的定义格式类的定义格式class 类名类名 public:数据成员或成员函数数据成员或成员函数protected:数据成员或成员函数数据成员或成员函数private:数据成员或成员函数数据成员或成员函数;计算机科学与工程学院问题:
2、有若干本图书,输入、输出图书信问题:有若干本图书,输入、输出图书信息?息?计算机科学与工程学院声明一个图书类声明一个图书类分析:图书都有分析:图书都有书名书名、作者作者、出版社出版社和和价格价格;对于图书的基本操作有对于图书的基本操作有输入、输出图书信息。输入、输出图书信息。因此首先抽象出所有图因此首先抽象出所有图书都具有的属性:书名、书都具有的属性:书名、作者、出版社和价格;作者、出版社和价格;然后用成员函数实现对然后用成员函数实现对图书信息的图书信息的输入输入和和输出输出。class Bookpublic:void Input();void Print();private:char tit
3、le20;char author10;char publish30;float price;计算机科学与工程学院说明说明类声明中的类声明中的private、protected和和public关键字可以按任意顺序出关键字可以按任意顺序出现。为了使程序更加清晰,应将私有成员、保护成员和公有成员归类现。为了使程序更加清晰,应将私有成员、保护成员和公有成员归类存放。默认时的访问权限为私有的(存放。默认时的访问权限为私有的(private)。)。对于一个具体的类,类声明中的对于一个具体的类,类声明中的private、protected和和public三个三个部分不一定都要有,但至少应该有其中一个部分。部
4、分不一定都要有,但至少应该有其中一个部分。数据成员可以是任何数据类型,但不能用自动(数据成员可以是任何数据类型,但不能用自动(auto)、寄存器)、寄存器(register)或外部()或外部(extern)类型进行说明)类型进行说明。由于类是一种数据类型,系统并不会为其分配内存空间,所以不能在由于类是一种数据类型,系统并不会为其分配内存空间,所以不能在类声明中给数据成员赋初值。类声明中给数据成员赋初值。计算机科学与工程学院问题:有若干长方形,求周长和面积?问题:有若干长方形,求周长和面积?计算机科学与工程学院声明一个长方形类。声明一个长方形类。分析:长方形有分析:长方形有长长和和宽宽,对于长,
5、对于长方形可以计算其方形可以计算其面积和周长。因面积和周长。因此抽象出所有长此抽象出所有长方形都具有的属方形都具有的属性长和宽;然后性长和宽;然后用成员函数实现用成员函数实现求面积求面积和和求周长求周长运算。运算。class Rectangle public:double Area();double Perimeter();private:double length=3.5;double width=4.6;说明:说明:(1)一般将类的声明放在头文件.h中,而将成员函数的实现放在.cpp 文件中。(2)类定义必须以“;”结束。计算机科学与工程学院成员函数的定义成员函数的定义返回类型返回类型 类
6、名类名:函数名函数名(参数表参数表)/函数体函数体 void Book:Input()cintitleauthorpublishprice;void Book:Print()couttitle author publish pricencinn;p=newp=new intnintn;/表示表示newnew为具有为具有n n个元素的整型数个元素的整型数组分配了内存空间组分配了内存空间,并将首地址赋给了指针并将首地址赋给了指针p p计算机科学与工程学院西安理工大学运算符运算符newnewnew 不能对动态分配的数组存储区进行初始化不能对动态分配的数组存储区进行初始化。例如:例如:intint*p
7、*p;p=newp=new intint1010(0 0);/错误错误,不能对动态分配的数组进行初始化不能对动态分配的数组进行初始化用用newnew分配的空间分配的空间,使用结束后只能用使用结束后只能用deletedelete显式地释放显式地释放,否则这部分空间将不能回收而造成内存泄露否则这部分空间将不能回收而造成内存泄露。计算机科学与工程学院西安理工大学运算符运算符delete 运算符运算符delete用来释放动态变量或动态数组所占的内存空用来释放动态变量或动态数组所占的内存空间。间。delete运算符的应用格式如下运算符的应用格式如下释放动态变量所占的内存空间释放动态变量所占的内存空间例如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 3-第3章 类与对象面向对象程序设计 对象 面向 程序设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内