Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
hoot
100 / 21 / 3
Регистрация: 10.11.2010
Сообщений: 193
#1

Реализация динамического создания экземпляров класса. - C++

27.09.2011, 00:25. Просмотров 697. Ответов 4
Метки нет (Все метки)

Добрый вечер.

Есть программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//HEADER.h
#include <iostream>
#include <conio.h>
#include <string>
 
using namespace std;
 
class TRAIN
{
private:
    int num_tr;
    float time_tr;
    string city_tr;
 
 
public:
    void SetNum(int num) {num_tr=num;}//Принимает номер поезда.
    int GetNum()const{return num_tr;} //Возвращает номер поезда.
 
    void SetTime(float time) {time_tr=time;}//Принимает время отправления.
    float GetTime()const{return time_tr;} //Возвращает время отправления.
 
    void SetCity(string city) {city_tr=city;}//Принимает пункт назначения.
    string GetCity() const {return city_tr;}//Возвращает пункт назначения.
 
 
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//code.cpp
#include "h_train.h"
 
 
int main()
{
setlocale (LC_ALL,"russian");
 
 
TRAIN N1;
 
int a;
float b;
string c;
 
 
cout<<"Введите номер поезда: ";
cin>>a;
cout<<"Введите время прибытия (чч.мм): ";
cin>>b;
cout<<"Укажите пункт назначения: ";
cin>>c;
 
 
N1.SetNum(a);
N1.SetTime(b);
N1.SetCity(c);
 
 
cout<<"Номер поезда:"<<N1.GetNum()<<endl;
cout<<"Время прибытия:"<<N1.GetTime()<<endl;
cout<<"Время прибытия:"<<N1.GetCity()<<endl;
 
_getch();
return 0;
}
Как можно реализовать динамическое создание экземпляров класса? Возможно ли это вообще.
Большая просьба дать информацию как можно подробней.
Заранее всем спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.09.2011, 00:25     Реализация динамического создания экземпляров класса.
Посмотрите здесь:

Пример создания массива экземпляров другого класса - C++
Покажите как это делать, пожалуйста. И этот массив тоже должен быть в классе.

Массив экземпляров класса - C++
Доброго времени суток уважаемые форумчане. Возник вопрос: как заполнять массив экземплярами класса для CELL (дабы потом иметь возможность...

Инициализация экземпляров класса из файла - C++
Люди добрые, подскажите как написать метод класса для инициализации объектов из файла: Apt.h ///...

Указатель на массив экземпляров класса - C++
Пытаюсь разобраться с указателями, но видимо что-то совсем плохо понимаю: class bull {int x;}; bull n; bull *pN; pN=&amp;n; //...

ошибка при выводе экземпляров класса - C++
написал класс, но при работе функции принт оно выдает что не может считать память, хотя явных ошибок нет, посмотрите что не так. ...

Статическое поле,количество экземпляров класса - C++
Помогите понять,статическое поле stcount считает количество созданных экземпляров класса (объектов),я объявляю всего два объекта а он...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
27.09.2011, 00:57     Реализация динамического создания экземпляров класса. #2
C++
1
TRAIN *trainPtr = new TRAIN;
Это ?
hoot
100 / 21 / 3
Регистрация: 10.11.2010
Сообщений: 193
27.09.2011, 01:05  [ТС]     Реализация динамического создания экземпляров класса. #3
Я правильно понимаю, это ты создал указатель на класс.

Я говорил о том, что, к примеру, спрашивается у пользователя сколько вы хотите задать поездов( с этим проблем нет). Он указывает, пусть будет 3. и программа автоматом создает 3 экземпляра класса. С именами, пусть будет N1, N2, N3.
Так вот не могу понять как реализовать это создание экземпляров класса.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
27.09.2011, 01:16     Реализация динамического создания экземпляров класса. #4
Цитата Сообщение от hoot Посмотреть сообщение
Я правильно понимаю, это ты создал указатель на класс.
Нет, не правильно. Я выделил память для одного экземпляра и адрес, которая вернула операция new, поместил в указатель trainPtr, чтобы можно было работать с этим экземпляром.

Цитата Сообщение от hoot Посмотреть сообщение
Я говорил о том, что, к примеру, спрашивается у пользователя сколько вы хотите задать поездов( с этим проблем нет). Он указывает, пусть будет 3. и программа автоматом создает 3 экземпляра класса. С именами, пусть будет N1, N2, N3.
Так вот не могу понять как реализовать это создание экземпляров класса.
C++
1
2
3
4
int n;
cout << "Введите кол-во поездов ";
cin >> n;
TRAIN *trainPtr = new TRAIN[n];
В этом случае выделяется память для массива из n элементов и адрес на этот массив присваивается указателю trainPtr.

Только не забудьте в конце программы освобождать выделенную память. Для одного экземпляра - это
C++
1
delete trainPtr;
Для массива экземпляров - это
C++
1
delete [] trainPtr;
Добавлено через 1 минуту
Надеюсь как обращаться с указателями вы знаете.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.09.2011, 11:03     Реализация динамического создания экземпляров класса.
Еще ссылки по теме:

Добавление экземпляров одного класса в другой класс - C++
Доброе утро! В программе создано 2 класса. 1-й предназначен для создания объекта под названием &quot;студент&quot;. Он имеет различные свойства (фио,...

Реализовать операторы сравнения двух экземпляров класса (==, !==) - C++
Приведите пример такой перегрузки, пожалуйста

Создание массива экземпляров класса с не стандарным конструктором - C++
Здравствуйте. Подскажите пожалуйста. Есть у меня некий класс Аaa. У него два конструктора - простой и с передаваемым параметром. class...

Перегрузка оператора + для сложения двух экземпляров класса - C++
#include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include &lt;iostream&gt; #include &lt;clocale&gt; using namespace::std; class str_type{ char...

Перегрузка operator< для двух экземпляров класса отрезок - C++
Всем добра, в классе отрезок хочу перегрузить операцию &lt; правильно ли я сделал ? При этом отрезок с координатами x1=1 y1=1 и x2=4 y2=4...

Хранение вектора экземпляров шаблонного класса неизвестного типа - C++
Здравствуйте! Потребовалось хранить вектор экземпляров шаблонного класса неизвестного типа. Для выделения фиксированного шаблона с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
hoot
100 / 21 / 3
Регистрация: 10.11.2010
Сообщений: 193
27.09.2011, 11:03  [ТС]     Реализация динамического создания экземпляров класса. #5
Спасибо!
Знаю.
Yandex
Объявления
27.09.2011, 11:03     Реализация динамического создания экземпляров класса.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru