根据UML类图写C++类定义 【精编】

上传人:jiups****uk12 文档编号:45688576 上传时间:2018-06-18 格式:PPT 页数:68 大小:658.50KB
返回 下载 相关 举报
根据UML类图写C++类定义 【精编】_第1页
第1页 / 共68页
根据UML类图写C++类定义 【精编】_第2页
第2页 / 共68页
根据UML类图写C++类定义 【精编】_第3页
第3页 / 共68页
根据UML类图写C++类定义 【精编】_第4页
第4页 / 共68页
根据UML类图写C++类定义 【精编】_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《根据UML类图写C++类定义 【精编】》由会员分享,可在线阅读,更多相关《根据UML类图写C++类定义 【精编】(68页珍藏版)》请在金锄头文库上搜索。

1、Review(复习)Contents1 概念 2 简答 3 选择 填空 改错 4 根据UML类图写C类定义根据C代码画UML类图 5 编程1 概念 对象,消息,方法,类,继承,封装, 聚集,多态性,抽象类类 友元函数,构造函数,析构函数,函数 名重载,虚函数,纯虚函数, 异常2 简答 简述C程序中类的一般结构。 在C程序中,类成员的访问权符有哪几种? 公有派生和私有派生有什么区别? 用成员函数和友元函数重载运算符有什么区别? 当进行多重继承时,如果在派生类中使用不同父类的 同名成员,如何避免二义性? C主要使用哪两个流类进行预定义类型的输入和输 出,重载了哪两个运算符? UML类图中,如何表示

2、聚集和泛化关系? 请列举出5种UML模型图。 3 根据UML类图写C类定义 例:UML类图类定义#include class Figureprotected:float x,y;public:void Set();virtual void ShowArea(); ; class Triangle:public Figurepublic:void ShowArea(); ;class Square: public Figurepublic:void ShowArea(); ; class Circle: public Figurepublic:void ShowArea();4 根据C代码画UM

3、L类图 例:源程序 #include class Xprotected: int a;public: void make(int i)a = i; class Yprotected: int a;public: void make(int i)a = i;class Z: public X, public Ypublic: int make()return X:a*Y:a;UML类图1. 定义一个Shape基类,在此基础上派生出Rectangle和 Circle类,二者都有GetArea()函数计算对象的面积。使 用Rectangle类创建一个派生类Square。#include class

4、Shape public:Shape ( ) ( Shape () virtual float GetArea () return - 1; ;class Circle : public Shape public:Circle (float radius ): itsRadius (radius) Circle () float GetArea() return 3.14 * itsRadius * itsRadius; private:float itsRadius; ;class Rectangle : public Shape public:Rectangle(float len, fl

5、oat width): itsLength(len), itsWidth(width) ;Rectangle () );float GetArea() return itsLength * itsWidth; float GetLength() return itsLength; )float GetWidth() return itsWidth; private:float itsWidth;float itsLength; ;class Square : public Rectangle public .Square (float len);Square () ; Square: Squa

6、re (float len): Rectangle (len,len)void main()Shape * sp;sp=new Circle (5);cout GetArea () GetArea() GetArea ()#include class Document public:Document ( ) ;Document(char * name);char * Name; / Document name.void PrintNameOf(); /Print name. ; Document: Document (char * name) Name =new charstrlen(name

7、) + 1;strcpy(Name, name); ;void Document : PrintNameOf() cout Class Counterpublic:Counter();Counter(USHORT initialValue);Counter()USHORT GetItsVal() const return itsVal;Void SetItsVal(USHORT x)itsValx;Counter operator+(const Counterint main()Counter varOne(2),varTwo(4),varThree;varThree=varOne+varTw

8、o;coutclass Mammalpublic:Mammal():itsAge(1)coutSpeak();return 0;输出: Mammal constructor. Dog constructor. Woof ! Dog destructor. Mammal destructor.5.定义一个Shape抽象类,在此基础上派生出 Rectangle和Circle类,二者都有 GetArea()函数 计算对象的面积,GetPerim()函数计算对象的周 长。#includeclass Shapepublic:Shape()Shape()virtual float GetArea()0;v

9、irtual float GetPerim()0;class Circle:public Shape public:Circle(f1oat radius):itsRadius(radius)CIrcle()float GetArea()return 314 *itsRadius *itsRadius;float GetPerim()return 6.28 *itsRadius;private:float itsRadius;class Rectangle:public Shapepublic:Rectangle(float len,float width):itsLength(len), i

10、tsWidth(Width);Rectangle();virtualfloat GetArea()return itsLength *itsWidth;float GetPerim()return 2 *itsLength+2 *itsWidth; )virtual float GetLength()return itsLength;virtual float GetWidth()return itWidth;private:float itsWidth;float itsLength;void main()Shape *sp;spnew Circle(5);coutGetArea()GetP

11、erim()GetArea()GerPerim() #include People:People() People:People() People:People(char *aName, Sexes aSex, int anAge) strcpy(Name,aName); Sex=aSex; Age=anAge; void People:Set(char *aName, Sexes aSex, int anAge) strcpy(Name,aName); Sex=aSex; Age=anAge; void People:ShowInfo() cout #include Student:Stud

12、ent() Student:Student() Student:Student(char *aName, Sexes aSex, int anAge, char *aNum, char *aCls):People(aName,aSex,anAge) strcpy(Num,aNum); strcpy(ClassNo,aCls); void Student:ShowInfo() People:ShowInfo(); cout #include Teacher:Teacher() Teacher:Teacher() Teacher:Teacher(char *aName, Sexes aSex, i

13、nt anAge, char *aPrin, char *aDept):People(aName,aSex,anAge) strcpy(Principalship,aPrin); strcpy(Department,aDept); void Teacher:ShowInfo() People:ShowInfo(); cout int main() People p1(“Zhang Li“,female,20); Student s1(“Wang Yong“,male,21,“987654“,“Computer9820“); Teacher t1(“Liu Hong“,female,50,“Ma

14、ster“,“Computer“); p1.ShowInfo(); cout #include “Employee.h“ #include “Manager.h“ #include “SalesMan.h“ #include “Worker.h“ int main() SalesMan s1(15, 100, 25000,10); Worker w1(10, 150, 20); Manager m1(1000, 5); cout #include char *apple:identify() sprintf(ident,“(apple:%s,%s)“,fruit:identify(),tree

15、:identify(); return ident; char *pear:identify() sprintf(ident,“(pear:%s,%s)“,fruit:identify(),tree:identify(); return ident; char *apple_pear:identify() sprintf(ident,“(apple_pear:%s,%s)“,apple:identify(),pear:identify(); return ident; int main() apple apple1; pear pear1; fruit fruit1; tree tree1; apple_pear ap1; cout #include “Base.h“ #include “ball.h“ #include “bar.h“ #include “cube.h“ int main() cube c(25); bar bar1(10,15); ball ball1(10); cout“cube cs sqare is

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号