![]() |
CMPT 212
Spring 1998
|
![]() |
Read chapter 12 from C++ Primer Plus (2nd ed.), by Stephen Prata. |
// file graphobj.h #ifndef _graphobj_h_ #define _graphobj_h_ class Point { public: void move(float new_x, float new_y); void setColour(int new_colour); void display(); protected: float x_coord; float y_coord; int colour; }: class Circle : public Point { public: void display(); void setRadius(float new_radius); protected: float radius; }; class Disk : public Circle { public: void display(); }; #endif // file graphobj.cpp #include "graphobj.h" void Point::move(float new_x, float new_y) { x_coord = new_x; y_coord = new_y; } void Point::setColour(int new_colour) { colour = new_colour; } void Point::display() { showpoint(x_coord, y_coord, colour); // Assume graphics function exists. } void Circle::display() { showcircle(x_coord, y_coord, colour, radius); // Assume graphics function exists. } void Circle::setRadius(float new_radius) { radius = new_radius; } void Disk::display() { Circle::display(); fillarea(x_coord, y_coord, colour); // Assume graphics function exists. }
#include "graphobj.h" int main() { Point p; Circle c; Disk d; p.move(1.0, 2.0); p.setColour(15). p.display(); c.move(5.0, 3.0); c.setColour(12); c.setRadius(4.0); c.display(); d.move(7.0, 4.0); d.setRadius(15.0); d.setColour(3); d.display(); return 0; }
class sentence { public: int wordCount() const; ... private: int count; ... }; ... int sentence::wordCount() const { return count; }
![]() Return to lecture notes index |
|
This page is maintained by simpson@cs.sfu.ca. | Last updated on 20 Feb 1998. |