Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class shape //просто класс форм
- {
- public:
- shape() {
- }
- virtual void show_parametri() {
- cout << " Абстрактная фигура " << endl;
- }
- ~shape() {
- cout << "Фигура удалилась" << endl;
- }
- };
- class point :public shape { //просто класс точек, наследуемый от форм
- private:
- int x, y;
- public:
- point() {
- x = 0;
- y = 0;
- }
- virtual void show_parametri() {
- cout << " Это точка" << endl;
- cout << " Координаты = " << x << " , " << y << endl;
- }
- ~point() {
- cout << "Точка удалилась" << endl;
- }
- };
- class MyStorage {
- private:
- shape **objects; //массив указателей
- int size;
- public:
- MyStorage(int size)
- {
- this->size = size;
- objects = new shape*[size];
- }
- void SetObject(int index, shape *object) { //помещение адреса объекта в массив
- objects[index] = object;
- }
- shape GetObject(int index) { //берем объект из массива
- return *objects[index];
- }
- int main()
- {
- setlocale(LC_ALL, "Rus");
- MyStorage storage(10);
- for (int i = 0; i < storage.getCount(); i++) { //здесь заполняю массив точками
- storage.SetObject(i, new point());
- }
- for (int i = 0; i < storage.getCount(); i++) { //здесь хочу вызвать метод show_parametri() у точек, но вызывается у форм
- storage.GetObject(i).show_parametri();
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement