c++

在程序中定义3个类,UML类图如下图。其中:
Shape类的所有成员变量的访问权限为protected。所有成员函数的访问权限都为public。area()和perimeter()为虚函数(virtual),函数功能是计算Shape的面积和周长,构造函数初始化该类的成员变量,setXXX()函数设置该类的成员变量,getXXX()函数返回类的成员变量的值。
Rectangle类继承Shape类,Rectangle类的构造函数显式调用其基类的构造函数;成员length为矩形高度width为矩形宽度,area()和perimeter()函数覆盖基类函数。计算矩形面积和周长。
Circle类继承Shape类,Circal类的构造函数显式调用其基类的构造函数;成员radius为圆的半径, area()和perimeter()函数覆盖基类函数。计算圆形面积和周长。




















在main()函数中定义一个Shape类的指针数组p[2],使用new运算符分别实例Rectangle类、Circler类的实例各一个,指针赋给p[0]、p[1];输出各实例的各成员变量和面积周长。最后delete 动态生成的对象,释放内存。


作者: xianvchen900   发布时间: 2011-06-14

Shape

#name : string


+ Shape(string n)
+getName() : string
+ area() : double; 
+perimeter() :double;





Rectangle
# length : double
# width : double

+ Rectangle (string n, double 1, double w)
+setL(double l) : void
+getL() : double
+setW(double w) : void
+getW() : double
+ area(): :double;
+perimeter() :double;



Circle
# radius : double

+Circle (string n, double r)
+setR(double r) : void
+getR() : double
+ area(): :double;
+perimeter() :double;


哦,这里还有个提示代码没有发上出哦!各位帮俺看看啊!

作者: xianvchen900   发布时间: 2011-06-14