05 第五章 类与对象(一)课件.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05 第五章 类与对象(一)课件

第五章 类与对象;§5.1 面向对象的基本概念和特征;3.封装 : 用两种方法实现;(2) 类:用类实现封装;5.类的特征;§5.2 类的定义 一、类声明 ;例: 循环计数器类;例如:定义一个person类,设person具有的特征:属性(姓名、年龄、性别),方法(输出一个人的属性);则对应着有4个成员:三个数据成员,一个成员函数。这些数据成员一般不能由外界直接访问,随意修改。而只能通过成员函数进行访问。所以三个数据成员定义为私有成员,print成员函数定义为公有成员。则有: class Tperson { private: char name[10]; int age; char sex; public: void print( ); };;当成员函数的规模较小时,语句只有1-5行,符合内联函数条件,则可在类中定义成员函数,成为内联成员函数。 如: class TDate { public: void Set(int m, int d, int y) // 置日期值 { month=m; day=d; year=y; } void Print( ); // 打印输出 private: int month; int day; int year; };;说明; 类中的数据成员不允许使用初值表达式; 在类中 const 的使用;二、类成员的访问控制 ;三、类界面与类实现;如定义一个类: class TPoint { public: void SetPoint(int x, int y) // 置坐标值 { X=x; Y=y; //给数据成员赋值 } int Xcoord( ) {return X;} //提供X坐标值 int Ycoord( ) {return Y;} //提供Y坐标值 void Move(int xOffset,int yOffset ); // 移动点 private: int X; int Y; }; void Tpoint::Move(int xOffset,int yOffset) {X+=xOffset; Y+=yOffset; };四、 标识符的类作用域 ;§5.3 对象的创建;定义了一个类只是定义了一种类型,它并不分配空间,不能进行操作。只有用它创建对象后,系统才为对象分配存储空间。 对象是类的实例。(对象是一种广义变量?) 定义对象之前要先定义好类。 对象定义格式为:类类型名 对象名表;如: student s,t; //定义两个student类的对象s和t Tdate date1; //定义一个Tdate类的对象date1 Tdate *Pdate=date1; //定义一个指向date1对象空间的指针Pdate Tdate data[3]; //定义一个data对象数组,其元素类型为Tdate类;对象成员的表示方法;注意: 在成员函数中访问成员无须加对象名来作为前缀。 如: void Tperson::print( )//自家人不客气 {  coutnameagesexendl; } 在name等成员之前不能加对象名,在定义类时,成员函数是所有对象共享的代码,不被某一个对象独占。也无法确定类的对象名。;… void Tperson::set(char n[ ], int a, char s) { strcpy(name,n); age=a;sex=s; } void main( ) { Tperson s; Tperson t; s.set(li,23,m); t.set(wang,21,f); s.age=20; //error s.print( ); t.print( ); };一个类中所有对象调用的成

文档评论(0)

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

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

1亿VIP精品文档

相关文档