版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
对象的声明和实例化1.类的实例化-对象
类的实例化即定义类的对象,类似于定义任何类型的变量(类名称为一个新的类型说明符)定义对象有三种形式(1)先声明类类型,后定义对象
classDated1,d2;//把class和Tdate合起来作为一个类名
Dated1,d2;//直接用类名定义对象。(2)在声明类类型的同时定义对象classDate{public: voidSet(intm,intd,inty){…}intIsLeapYear(){…}voidPrint(){…} private:intmonth; intday; intyear;}d1,d2;(3)不出现类名,直接定义对象编译系统会为这个对象分配存储空间,以存放对象中的成员。class//无类名{private://声明以下部分为私有的┆
public://声明以下部分为公用的┆}d1,d2;//定义了两个无类名的类
对象由于类和结构是等价的,对类的五种操作对结构也同样适用:(1)对象之间可以相互赋值。
LocationlocationA,locationB; locationA.set(5,6); locationB=locationA;(2)对象可以作为数组的元素。
Locationarrayloc[100];对象的使用(3)可以说明指向对象的指针,但不能取私有数据成员的指针或成员函数的地址。
Locationlocation[10]; Location*pointLoc=&location[0];
当pointLoc被加1后,它将指向下一个Location对象(4)对象可以作为函数的参数,既可作值参也可以作引用参数。
voiddisplay(Location&location){...};
对象的使用类说明的一般形式为:
class类名{public:
公有段数据成员和成员函数
;protected:
保护段数据成员和成员函数
;private:
私有数据成员和成员函数
;};例:
classX{……};
classY{XdataMember; ……};(5)一个对象可以是另一个类的成员。注意:允许已定义类名出现在类的说明中//声明一个类类型数据成员对象的使用注意:允许已定义类名出现在类的说明中例:
classX
{
X
dataMember; ……};//错误错误无穷递归结构对象的使用一个对象可以是另一个类的成员。
classTime_date{public:voidset()voidprint();private:inthour;intminute;intsecond;
Datedd;};classDate{public:voidset(int,int,int);voidprint();intget_y();private:intmonth;intday;intyear;};对象的使用
一般对象的成员引用形式
成员访问运算符“.”和“->”数据成员
对象名.成员名或对象指针名->成员名成员函数
对象名.成员名(参数表)或对象指针名->成员名(参数表)成员的访问访问对象中的成员可以有3种方法:通过对象名和成员运算符访问对象中的成员;通过指向对象的指针访问对象中的成员;通过对象的引用变量访问对象中的成员。classA{private: //private说明符在首次出现时可以省略
intm_a;public: //切换到public说明符
intm_b; voidprint(){cout<<m_a<<m_b};intgetA(){returnm_a;}}
Aa;a.m_a;a.m_b;a.print();成员的访问通过指向对象的指针访问对象中的成员;通过对象的引用变量访问对象中的成员。Timet1;Time&t2=t1;cout<<t2.hour;voidFuction(Time&t);Timet,*pTime;//定义对象t和指针变量ppTime
=&t;//使p指向对象tcout<<pTime->hour<<(*pTime).hour<<t.hour;成员的访问成员的存储方式用类去定义对象时,系统会为每一个对象分配存储空间。如果一个类包括了数据和函数,要分别为数据和函数的代码分配存储空间。cout<<sizeof(Time)<<endl;课堂练习(分离,实例)实现表示学生的类Student,属性包括名字,学号,性别和生日,行为包括:属性的设置和显示等,返回属性值。建立完整的工程,包括多个源文件和头文件。Student
charname[10]intnocharsexDatebirthdayvoidset();voidset(char*,int,char);voidset(Date&);char*getName();intgetNo();voidprint();
//student.hclassStudent{public:voiddisplay();private:intnum;charname[20];charsex;};//student.cpp#include<iostream>#include″student.h″
voidStudent∷display(){cout<<″num:″<<num<<endl;cout<<″name:″<<name<<endl;cout<<″sex:″<<sex<<endl;}//main.cpp主函数模块#include<iostrea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 低压三相异步电机检修电工理论考试参考题库-含答案
- 糖尿病酮症酸中毒(DKA)实验室检查诊断与抢救监测指标
- 有关毒物排泄的试题及答案梳理
- 常见导管相关试题与答案
- 水厂机房设备操作试题及答案
- 1.1我们身边的地理课件(共60张) 湘教版(2024)七年级地理上册
- 2026天津市北辰区中医医院第四批合同制人员招聘2人笔试备考题库及答案详解
- 2026年安徽省交通运输厅所属事业单位公开招聘工作人员11人考试参考题库及答案详解
- 2026年石棉县网格员招聘考试模拟试题及答案解析
- 2026年镇江句容市下蜀镇临时性公益性岗位招聘1人笔试参考题库及答案详解
- 2025年四川省机关事业单位工人技术等级考试(计算机系统操作工·中级)历年参考题库含答案详解(5卷)
- 2025成人高考专升本《日语》试题及答案
- 新初一年级第一次家长会校长发言:家校携手共启新程
- 电子焊接培训课件
- 《人工智能数据服务》高职全套教学课件
- TCAGHP025-2018场地地质灾害危险性评估技术要求(试行)
- 2024年版《煤矿安全生产标准化管理体系基本要求及评分方法》解读
- 糖尿病口服降糖药的分类
- 统计学:假设检验基础
- 肛肠科科普知识宣讲主题讲座培训课件
- 个人简历模板 求职简历模板(10套完整版)
评论
0/150
提交评论