- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章节 类和对象
第3章 类和对象 3.1 类和类的定义 3.2 对象和对象的定义 3.3 构造函数与析构函数 3.4 拷贝构造函数 3.5 局部类和嵌套类 3.6 引用 3.7 常类型 3.1 类和类的定义 3.1.1 类的定义 3.1.2 类的成员函数 3.1.3 类和结构 3.1.1 类的定义 1.类的定义格式 2.定义类时应注意的事项 1.类的定义格式 类是一种用户自定义的数据类型,它的一般定义格式如下: class 类名 { private: 私有数据成员和成员函数; protected: 保护数据成员和成员函数; public: 公有数据成员和成员函数; } 各个成员函数的实现; 例3-1:下面是一个关于日期类的说明部分。 class Tdate { public: void SetDate(int y,int m,int d); int IsLeapYear( ); void print( ); private: int year,month,day; }; 日期类的实现部分 void Tdate::SetDate(int y,int m,int d) { yeear=y; month=m; day=d; } int Tdate::IsLeapYeear( ) { return (year%4==0 year%100!=0)||(year%400==0); } void Tdate::print( ) { coutyear.month.dayendl; } 例3-2:上面的类定义也可以采用下面的形式。 class Tdate { public: void SetDate(int y,int m,int d) { yeear=y;month=m;day=d;} int IsLeapYear( ){ return (year%4==0 year%100!==0)||(year%400==0);} void print( ){ coutyear.month.dayendl;} private: int year,month,day; }; 2.定义类时应注意的事项 (1)在类内不允许对所定义的数据成员进行初始化。 (2)类中的数据成员的类型可以是任意的,包括整型、浮点型、字符型、数组、指针和引用等。也可以是对象。即另一个类的对象,可以作为该类的成员,但自身类的对象是不可以的。 (3)一般地,在类内先说明公有成员,它们是用户关心的,后面说明私有成员。 (4)一般将类定义的说明部分或者整个定义部分(包含实现部分)放在一个头文件中。 (5)在类的说明部分之后必须加分号“;”。 例如,前面讲过的Tdate类中,下面的定义是错误的。 Class Tdate { public: ┇ private: int year=1998,month=4,day=9; //这里,不允许对数据成员进行初始化 }; 例3-3:下面是一个“点”类的定义。 class TPoint { Public: Void SetPoint(int x,int y); int Xcoord( ) { return X;} int Ycoord( ) { return Y;} void Move(int xOffset,int yOffset); private: int X,Y; }; void TPoint::SetPoint( int x,int y) { X=x; Y=y; } void TPoint::Move(int xOffset,int yOffset) { X+=xOffset; Y+=yOffset; } 3.1.2 类的成员函数 定义类的函数成员的格式如下: 返回类型 类名::成员函数名(参数说明) { 函数体 } 类的成员函数对类的数据成员进行操作,成员函数的定义体可以在类的定义体中,如例3-4所示。 例3-4:类中的成员函数在类定义中直接描述示例。 class Location { public: void init(int x,int y) { X=x; Y=y; } private: int X,Y; public: int GetX() { return X; } int GetY() { return X; } }; 例3-4的成员函数可定义如下: void Location::init(int x,int y) { X=x; Y=y; }//将x,y的值分别赋给X,Y int L
您可能关注的文档
最近下载
- 摩擦学基础知识-磨损.ppt VIP
- 景观规划设计(第3版)课件:滨水景观文化设计.pptx VIP
- 甘肃省兰州市城关区树人学校2022-2023学年八年级上学期期中物理试卷(含答案).docx VIP
- 2018-2019学年甘肃省兰州市树人中学八年级(上)期中物理试卷.docx VIP
- 2020-2021学年甘肃省兰州市城关区树人中学八年级(上)期中物理试卷(含解析).doc VIP
- 十五五规划(2026-2030年)是国家未来五年发展的战略性蓝图。以下关于十五.docx VIP
- 电工基础试卷a卷及答案.doc VIP
- 甘肃省兰州市第三十五中学2022-2023学年八年级上学期期中物理试卷(含答案).docx VIP
- 北京市通州区2024-2025学年七年级上学期期末生物学试题(含答案).pdf VIP
- 北京市通州区2024-2025学年七年级上学期期末考试英语试卷.docx VIP
原创力文档


文档评论(0)