UJIAN 2 akan diadakan pada :
Tarikh : 4/3/99
Masa : 8.30 mlm -
10.30 mlm
Tempat : Bilik Kuliah 3, N24
Lab 3 : 1/3/99
Tulis semula aturcara Point, Circle dan Cube. Iaitu dengan menggunakan
inheritance dan composition ( 2 FILE yang berlainan )
#include "circle2.h"
class Cylinder : public Circle {
friend ostream &operator << ( pstream
&, const Cylinder &);
public:
//default constructor
Cylinder( double h = 0.0, double r =0.0,
int x =0, int y=0);
void setHeight(double);
double getHeight() const;
double area() const;
double volumn() const;
protected
double height;
};
#endif
#include <iostream.h>
#include <iomanip.h>
#include "cylindr2.h"
Cylinder :: Cylinder(double h, double r, int x, int y)
: Circle(r, x, y)
{ setHeight( h);}
double Cylinder::getHeight() const { return height;}
double Cylinder::area() const
{
return 2 * Circle::area() +
2 * 3.14159 * radius * height;
}
double Cylinder::volumn() const
{return Circle:: area() * height;}
ostream &operator << (ostream, const Cylinder &c)
{
output << static_cast < Circle > (c)
<< "; Height = " << c.height;
return output;
}
#include <iostream.h>
#include <iomanip.h>
#include "point2.h"
#include "circle2.h"
#include "cylindr2.h"
int main(){
Cylinder cyl(5.7, 2.5, 12, 23);
cout << " X coordinate is " <<cyl.getX()
<< " \nY coordinate
is " <<cy1.getY()
<< " \n Radius is
" << cy1.getRadius()
<< " \n Height is
" << cy1.getHeight() << endl;
cy1.setHeight(10);
cy1.setRadius(4.25);
cy1.setPoint(2,2);
cout << "The new location, radius, and height of cy1 are : \n"
<< cy1<< endl;
Point &pRef = cy1;
cout << "\nCylinder printed as a Point is : "
<< pRef << endl;
Circle &CircleRef = cy1;
cout << "Cylinder printed as a Circle is : \n " << circleRef
<< "\nArea : " <<
circleRef.area() <<endl;
return 0;
}
note :
Aturcara ini hendaklah dihantar pada hari Khamis , 4/3/99, penghantaran lewat dari tarikh tersebut tidak akan dilayan.