




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机程序设计 顾刚计算机教学实验中心 例题点类和圆类的定义 客观存在基本图形 点和圆点的属性和方法属性 点坐标 X和Y轴上的整数值方法 设置坐标 打印坐标 得到坐标等圆的属性和方法属性 点坐标和半径方法 设置初值 计算面积 输出圆属性 得到圆属性等两种编程方式 多文件 两个头文件 三个源文件单文件 一个源文件 point h头文件 定义类Point ifndefPOINT H definePOINT H includeusingnamespacestd classPoint intx y 点的x和y坐标public voidSetPoint int int 设置坐标intGetX returnx 取x坐标intGetY returny 取y坐标voidPrint 输出点的坐标 endif Point cpp源文件 定义Point类的成员函数 include include point h usingnamespacestd voidPoint SetPoint inta intb x a y b voidPoint Print cout x y circle h头文件 定义Circle类 ifndefCIRCLE H defineCIRCLE H includeusingnamespacestd include point h classCircle doubleradius PointCenter public voidSetRadius double 设置半径voidSetCenter Point 设置圆心坐标doubleGetRadius 取半径PointGetCenter 取圆心doubleArea 计算面积avoidPrint 输出圆心坐标和半径 endif circle cpp源文件 定义circle类的成员函数 include include circle h usingnamespacestd voidCircle SetRadius doubler radius r 0 r 0 voidCircle SetCenter Pointp Center p doubleCircle GetRadius returnradius PointCircle GetCenter returnCenter doubleCircle Area return3 14159 radius radius voidCircle Print cout Center Center Print cout Radius radius endl Example cpp include include Point h include Circle h usingnamespacestd intmain Pointp center p SetPoint 30 50 center SetPoint 120 80 Circlec c SetCenter center c SetRadius 10 0 cout Pointp p Print cout endl cout Circlec c Print cout Thecenterofcirclec c GetCenter Print cout nTheareaofcirclec c Area endl return0 includeusingnamespacestd classPoint intx y 点的x和y坐标public voidSetPoint int int 设置坐标intGetX returnx 取x坐标intGetY returny 取y坐标voidPrint 输出点的坐标 voidPoint SetPoint inta intb x a y b voidPoint Print cout 0 r 0 voidCircle SetCenter Pointp Center p doubleCircle GetRadius returnradius PointCircle GetCenter returnCenter doubleCircle Area return3 14159 radius radius voidCircle Print cout Center Center Print cout Radius radius endl intmain Pointp center p SetPoint 30 50 center SetPoint 120 80 Circlec c SetCenter center c SetRadius 10 0 cout Pointp p Print cout endl cout Circlec c Print cout Thecenterofcirclec c GetCenter Print cout nTheareaofcirclec c Area endl return0 类的定义的共性 includeusingnamespacestd classCat 猫类定义 private 数据成员一般为私有成员charName 9 charSex intAge public 函数成员一般为公有成员voidRegister char name intage charSex voidSpeak voidShow Cat char Getname intGetage intGetsex voidCat Resgister char name intage charsex strcpy Name name Age age Sex sex includeusingnamespacestd classStudent 定义student类 private charName 20 charSex intAge public voidRegister char name intage charsex voidShowMe Student类成员函数的定义voidStudent Register char name intage charsex strcpy Name name Age age Sex sex m m f includeusingnamespacestd classDate intyear intmonth intday public voidinit int int int voidprint ymd voidprint mdy voidDate init intyy intmm intdd month mm 1 point h头文件 定义类Point includeusingnamespacestd ifndefPOINT H definePOINT HclassPoint intx y 点的x和y坐标public voidSetPoint int int 设置坐标intGetX returnx 取x坐标intGetY returny 取y坐标voidPrint 输出点的坐标 endif circle h头文件 定义Circle类 includeusingnamespacestd include point h classCircle doubleradius PointCenter public voidSetRadius double 设置半径voidSetCenter Point 设置圆心坐标doubleGetRadius 取半径PointGetCenter 取圆心doubleArea 计算面积avoidPrint 输出圆心坐标和半径 都包含一个函数 初始化数据成员 构造函数 在声明一个对象后 紧接着要给对象初始化对象初始化实质上就是对所有数据成员赋值如果对象中某个数据成员未赋值 则该数据成员的值不确定 那么该对象的值不完整构造函数 Constructor 用于创建一个对象 提供了初始化对象的一种简便手段注意在前面所有类的定义中都有一个成员函数完成初始化数据成员 这个函数就可以认作构造函数 格式 注意事项 构造函数必须与类名相同构造函数没有返回值其功能是对对象中的所有数据成员进行初始化 一般由一系列赋值语句构成由系统在声明对象时自动调用 构造函数的定义 带构造函数的日期类 在日期类中增加构造函数在主函数中加以测试在声明对象时自动调用构造函数 includeusingnamespacestd classDate intyear month day public Date year 1900 month day 1 voidinit int int int voidprint ymd voidprint mdy voidDate init intyy intmm intdd month mm 1 重载构造函数 什么是函数重载 允许多个构造函数将日期类再增加一个构造函数Date intyy intmm intdd init yy mm dd 在声明对象时自动选择执行某个构造函数在主函数加以测试在VC 中验证 数据成员的初始化 在构造函数的函数体中进行初始化Date Date 例10 3 不同方法的构造函数 includeusingnamespacestd classDate intyear month day public Date year 1900 month 1 day 1 Date intyy intmm 1 intdd 1 Date Date 析构函数 构造函数 Constructor 用于创建一个对象 提供了初始化对象的一种简便手段与构造函数相对应 析构函数 Destructor 用于撤消一个对象 格式为 注意事项 函数名与类名相同 只是在前边加 符号析构函数不得返回任何值析构函数不得带有任何参数其功能是释放对象成员所占用的存储空间 一般由一系列的delete组成由系统自动调用 析构函数的定义 Person类定义 includeusingnamespacestd includeclassPerson private charName 9 charSex intAge public Person strcpy Name XXX Age 0 Sex Person cout NowdestroyingPerson endl voidRegister char name intage charsex voidShowMe voidPerson Register char name intage charsex strcpy Name name Age age Sex sex voidPerson ShowMe cout Name t Age t Sex endl intmain Personperson1 person2 cout person1 t person1 ShowMe person1 Register zhang3 19 m cout person1 t person1 ShowMe cout person2 t person2 ShowMe person2 person1 cout person2 t person2 ShowMe return0 测试主函数 对象与指针 指向对象的指针类名 指针变量名表 例 Personperson1 Zhang3 19 f Person ptr include 日期类定义usingnamespacestd classDate public intyear month day voidinit inty intm intk voidprint ymd voidDate init intyy intmm intdd month mm year yy day dd voidDate print ymd coutinit 2006 5 13 p1 print ymd int p2 include includeusingnamespacestd classPerson private charName 9 charSex intAge public Person strcpy Name XXX Age 0 Sex Person cout NowdestroyingPerson endl voidRegister char name intage charsex voidShowMe voidPerson Register char name intage charsex strcpy Name name Age age Sex sex voidPerson ShowMe cout Name t Age t Sex endl intmain Person p1 p2 声明两个指向对象的指针p1 newPerson 动态生成一个Person对象coutShowMe p1 Register Zhang3 19 m coutShowMe p2 newPerson 动态生成一个Person对象coutShowMe p2 p1 对象之间的赋值coutShowMe deletep1 释放p1指针指向对象所占的空间deletep2 释放p2指针指向对象所占的空间return0 This指针 C 中每一个类的成员函数都包含一个指向本类对象的指针指针名为this该指针包含了当前被调用的成员函数所在对象的起始地址 例题this指针使用 Example10 7使用this指针 includeusingnamespacestd classTest intx public Test int 0 voidprint Test Test inta x a 构造函数voidTest print coutx x n this x this x endl intmain TesttestObject 12 testObject print return0 能够计算的日期类 新建一个工程打开date cpp 编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/PAS 15118-202:2025 EN Road vehicles - Vehicle to grid communication interface - Part 202: Extensible SECC Discovery Protocol and Event Notification Protocol
- 计算机三级题库检测试题打印【必刷】附答案详解
- OT网络安全解决方案市场分析:预计2031年全球市场规模将为 206.5亿美元
- 辽宁省凌源市中考数学试题(预热题)附答案详解
- 2024-2025学年护士资格证考前冲刺练习【轻巧夺冠】附答案详解
- 2025安庆师范大学单招《英语》每日一练试卷附完整答案详解【历年真题】
- 交房物业收合同(标准版)
- 墓地占用土地合同(标准版)
- 2025执法资格能力检测试卷含完整答案详解【易错题】
- 养老院医疗应急预案(30篇)
- 室内墙体拆除合同全文
- 2025年中国移动初级解决方案经理学习考试题库大全-上(单选题)
- 江苏苏州历年中考语文现代文之散文阅读13篇(截至2024年)
- 临床用血管理制度课件
- 体育行业反兴奋剂管理制度
- 护理管理的发展史
- 《以产地命名中药》课件
- 广西恒镒矿业贸易有限公司广西苍梧县古木口矿区金矿矿山地质环境保护与土地复垦方案
- 有限元模拟与磨损寿命预测结合-洞察分析
- 配音课件资源教学课件
- 191118-锂离子电池专业术语英语对照大全
评论
0/150
提交评论