类的类型定义.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1 类的定义 3.1.1 类的定义 定义用户定义的类型Date,考虑对该类型数据的操作,可能有: struct Date { int d,m,y;}; void init_date(Date ,int,int,int); //初始化 void add_year(Date ,int n); //引用参数 void add_month(Date ,int n); void add_day(Date ,int n); 3.1.2 数据封装 3.1.3 类的实例就是对象 在系统实现中,类是一种共享机制,它提供了一类对象共享其类的操作实现。 类是一种封装机制,它将一组数据和对该组数据的操作封装在一起。 类是对象的模型,对象承袭了类中的数据和方法。只是各实例对象的数据初始化状态和各个数据成员的值不同。 3.1.4 类外访问成员的方法 3.1.5 类类型符合抽象原则 类是C++语言的关键概念,是一种用户定义的类型;类是数据隐藏和封装的单位,它将细节封装起来,只允许通过公有段的数据和函数被访问,从而支持了数据抽象的机制。 缺省时class类包括的数据成员和成员函数都是私有的。 如果要在class 类中定义公有数据,需要显式地给出关键字public. 3.1.6 C++语言的类 3.2 构造函数和析构函数 3.2.1 简单构造函数和析构函数 3.2.2 复制构造函数 3.2.1 简单构造函数和析构函数 1. 构造函数 2. 重载构造函数 3. 具有缺省参数的构造函数 4. 缺省的构造函数 5. 析构函数 6. 对象的创建和释放 1. 构造函数 一个类中的数据成员是不能直接初始化的。 如: class X { int num=0; //错误 … }; 构造函数的作用: 1) 分配一个对象的数据成员的存储空间。 2)执行构造函数,一般是初始化一个对象的数据成员。 对于某些特殊的数据成员的初始化,只能采用表达式。 例 3-5 该类的所有对象的圆心都初始化为原点。 class Circle { int x; int y; float radius; public: Circle(int intx,int inty) { x=intx;y=inty; //赋值语句方式初始化数据成员 } … }; 该类的对象的圆心可以初始化为不同的位置。 上例的构造函数也可以写为: Circle(int intx,int inty): x(intx),y(inty) { } 创建对象时,需要自动调用构造函数,如果构造函数有参数,那么,创建对象时必须给出对应的构造函数的实参。 例 3-6 class Date { int d,m,y ; public: Date(int dd,int mm,int yy) //构造函数 { d=dd;m=mm;y=yy;} … }; 2. 重载构造函数 一个类可以提供多个构造函数,它们的参数必须互不相同,可以提供不同的初始化要求。 3. 具有缺省参数的构造函数 构造函数可以有缺省的参数。 class Date { int d,m,y; public: Date(int dd=0

文档评论(0)

kaku + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8124126005000000

1亿VIP精品文档

相关文档