江西师范大学C++面向对象程序设计课件第4章 类与对象.ppt

江西师范大学C++面向对象程序设计课件第4章 类与对象.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#include iostream using namespace std; const float PI = 3.14159; const float FencePrice = 35; const float ConcretePrice = 20; //声明类Circle 及其数据和方法 class Circle { private: float radius; public: Circle(float r); //构造函数 float Circumference() const; //圆周长 float Area() const; //圆面积 }; * // 类的实现 // 构造函数初始化数据成员radius Circle::Circle(float r) {radius=r} // 计算圆的周长 float Circle::Circumference() const { return 2 * PI * radius; } // 计算圆的面积 float Circle::Area() const { return PI * radius * radius; } * void main () { float radius; float FenceCost, ConcreteCost; // 提示用户输入半径 coutEnter the radius of the pool: ; cinradius; // 声明 Circle 对象 Circle Pool(radius); Circle PoolRim(radius + 3); * //计算栅栏造价并输出 FenceCost=PoolRim.Circumference()*FencePrice; coutFencing Cost is ¥FenceCostendl; //计算过道造价并输出 ConcreteCost=(PoolRim.Area()- Pool.Area())*ConcretePrice; coutConcrete Cost is ¥ConcreteCostendl; } 运行结果 Enter the radius of the pool: 10 Fencing Cost is ¥2858.85 Concrete Cost is ¥4335.39 * 组合的概念 类中的成员数据是另一个类的对象。 可以在已有抽象的基础上实现更复杂的抽象。 举例 class Point { private: float x,y; //点的坐标 public: Point(float h,float v); //构造函数 float GetX(void); //取X坐标 float GetY(void); //取Y坐标 void Draw(void); //在(x,y)处画点 }; //...函数的实现略 class Line { private: Point p1,p2; //线段的两个端点 public: Line(Point a,Point b); //构造函数 Void Draw(void); //画出线段 }; //...函数的实现略 * 类组合的构造函数设计 原则:不仅要负责对本类中的基本类型成员数据赋初值,也要对对象成员初始化。 声明形式: 类名::类名(对象成员所需的形参,本类成员形参) :对象1(参数),对象2(参数),...... { 本类初始化 } 类组合的构造函数调用 构造函数调用顺序:先调用内嵌对象的构造函数(按内嵌时的声明顺序,先声明者先构造)。然后调用本类的构造函数。(析构函数的调用顺序相反) 若调用默认构造函数(即无形参的),则内嵌对象的初始化也将调用相应的默认构造函数。 类的组合举例(二) class Part //部件类 { public: Part(); Part(int i); ~Part(); void Print(); private: int val; }; class Whole { public: Whole(); Whole(int i,int j,int k); ~Whole();

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档