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

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

Войти
Регистрация
Восстановить пароль
 
Wack
6 / 6 / 1
Регистрация: 17.05.2013
Сообщений: 13
#1

Работа с class ами. Заполнение дин. массива типа class - C++

18.05.2013, 15:03. Просмотров 402. Ответов 1
Метки нет (Все метки)

Всем доброго времени суток!
Это моя первая тема на этом сайте, поэтому если что извините меня (за неточности итд итп).

Мне нужно создать заполненный дин. массив типа class ов. Я бы хотел посмотреть на какой нибудь стандартный приёмчик,
как это сделать допустим с перегруженным конструктором(или ещё кое как), с одним экземпляром все ясно. Ниже приведен некий код,
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
37
#include <iostream>
using namespace std;
struct birthday {
    unsigned day;
    unsigned month;
    unsigned year;
};
 
class Person {
public:
    char * name;
    birthday Bday;
 
    Person();
    Person(char* name,birthday Bday);
    //~Person(); 
};
Person::Person(){
    name = NULL;
    Bday.day=0;
    Bday.month=0;
    Bday.year=0;
}
Person::Person (char* aName,birthday aBday){ //Перегруженный конструктор
    unsigned len = strlen (aName);
    name = new char [len+1];
    strcpy (name,aName);
 
    Bday.day = aBday.day;
    Bday.month = aBday.month;
    Bday.year = aBday.year;
}
void main () {
    birthday  mybirthday={15.12.1994};
    Person *A = new Person ("Denis",mybirthday); //Вот заполняю экземпляр с помощью перегруженного конструктора
    //Person *B = new Person [3]; // <- ??? 
}
Добавлено через 1 час 42 минуты
Или как можно обратиться к каждому экземпляру в самом начале при объявлении?
C++
1
Person *B = new Person [3];
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2013, 15:03     Работа с class ами. Заполнение дин. массива типа class
Посмотрите здесь:

C++ Class
Class C++
C++ Работа с class-ами(вывести на дисплей)
Освобождение памяти (удаление массива char) и raised exception class EAccessViolation C++
Class C++
C++ переопределение типа "class"
C++ Переопределение типа class
class C++
Переопределение типа "class" C++
Class, динамическая память, работа с данными C++
C++ Поиск по классу с полями char* для массива обьектов class a[i]
Class C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kalpakk
 Аватар для kalpakk
13 / 13 / 1
Регистрация: 02.07.2011
Сообщений: 62
18.05.2013, 15:48     Работа с class ами. Заполнение дин. массива типа class #2
если вы хотите заполнить поля класса без конструктора, то это можно так:
C++
1
2
3
4
5
Person *b = new Person;
b->name="name";
b->Bday.day=1;
b->Bday.monrh=1;
b->bday.year=2013;
соответственно масив :
C++
1
2
3
4
5
6
7
8
Person *b = new Person[2];
for (int i=0;i<2;i++)
{
  b[i]->name="name";
  b[i]->Bday.day=1;
  b[i]->Bday.monrh=1;
  b[i]->bday.year=2013;
}
извиняюсь если не правильно понял вопрос.
Yandex
Объявления
18.05.2013, 15:48     Работа с class ами. Заполнение дин. массива типа class
Ответ Создать тему
Опции темы

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