/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/lua/owner/example.h
52 строки
1 KB
Olly Betts
Remove bogus ; after } in examples
07 ноя 2014, 05:34
07 ноя 2014, 05:34
37cd147
Код
Авторство
О чём код?
/* File : example.h */ #include <vector> class Shape { public: Shape() { nshapes++; } virtual ~Shape() { nshapes--; } double x, y; void move(double dx, double dy); virtual double area(void) = 0; virtual double perimeter(void) = 0; static int nshapes; }; class Circle : public Shape { private: double radius; public: Circle(double r) : radius(r) { } virtual double area(void); virtual double perimeter(void); }; class Square : public Shape { private: double width; public: Square(double w) : width(w) { } virtual double area(void); virtual double perimeter(void); }; Circle* createCircle(double w); // this method creates a new object Square* createSquare(double w); // this method creates a new object class ShapeOwner { private: std::vector<Shape*> shapes; ShapeOwner(const ShapeOwner&); // no copying ShapeOwner& operator=(const ShapeOwner&); // no copying public: ShapeOwner(); ~ShapeOwner(); void add(Shape* ptr); // this method takes ownership of the object Shape* get(int idx); // this pointer is still owned by the class (assessor) Shape* remove(int idx); // this method returns memory which must be deleted };