31.10.2018, 12:08 | #1 (permalink) |
Новичок
Регистрация: 30.04.2017
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Вектор указателей на объекты класса
Код:
#include "stdafx.h" #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std; class Place { public: vector <Place*> MyList; string geographical_position; virtual void SetParametrs() { string GP; cout << "Введите географическое положение места: "; getline(cin, GP); geographical_position = GP; } void add(Place *p) { MyList.push_back(p); } virtual void show() { for (int i = 0; i < MyList.size(); i++) { cout << geographical_position; } } Place() { geographical_position = "not"; cout << "Вызван конструктор без параметров для класса Place! " << endl; } Place(string GP) { cout << "Вызван конструктор с параметрами для класса Place! " << endl; geographical_position = GP; } }; class Region : public Place { protected: string climat; public: virtual void SetParametrs() { string reg; cout << "климат "; getline(cin, reg); climat = reg; string gp; getline(cin, gp); geographical_position = gp; } virtual void show() { for (int i = 0; i < MyList.size(); i++) { cout << Region::MyList[i] << endl; cout << this->geographical_position << endl; //здесь я не могу вывести собственные поля этого класса } } Region() :Place() { cout << "Вызван конструктор без параметров для класса Region! " << endl; } Region(string CL, string GP) :Place(GP) { cout << "Вызван конструктор с параметрами для класса Region! " << endl; climat = CL; } }; int main() { setlocale(0, "Rus"); Place n; Place * r = new Place(); n.SetParametrs(); n.add(r); n.show(); \ cout << endl; system("pause"); return 0; } |
31.10.2018, 12:08 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Почитав аналогичные темы вы наберетесь больше информации Массив указателей на объекты класса C++ Нужно сравнить два массива указателей типа char Логический вектор. Паскаль Pascal. Целочисленный вектор Дан вектор |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|