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

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

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

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

18.05.2013, 15:03. Просмотров 416. Ответов 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
Посмотрите здесь:

Работа с class-ами(вывести на дисплей) - C++
создать вектор из фигур и вывести их на печать с помощью класса GROUP_OBJECT что уже реализовано #include &lt;iostream&gt; #include...

Нужно объект типа класс проинициализировать с помощью перегруженного конструктора Class::Class( bool a ) - C++
Плиз помогите. Не знал, что я такой чайник.) Итак: есть два класса: CMyClass.h CMyClass.cpp и

Create a programm that creates an object of created class Time and tests the member functions of class - C++
Time Class Create a class called Time that might be used to represent time. 1. Your class should include three data...

enum и class как составляющие другого class - C++
Как организовать ввод enuma с клавиатуры (51-я строка)? Как прикрепить класс date к employee в private? :wall: #include &lt;iostream&gt; ...

vector<[class]> in class и перегрузка (ostream) - C++
Доброе всем время суток ) столкнулся с проблемой Есть у меня несколько классов и есть класс внутри которого созданы векторы хранящие...

Переопределение типа class - C++
Подскажите в чем ошибка??? Не могу никак разобраться. &quot;Ошибка 1 error C2011: zvetnik: переопределение типа...

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

public class && static class - C++
Вообщем у меня небольшая связка, которую я хотел бы использовать в программе своей, но компилятор мне выдает ошибку и я не знаю что все...

Работа с class, требуется объяснение/совет опытных - C++
К примеру имеется такой код:void main(int argc, const char * argv) { const int n = 2; drug *obj; objects(obj, n); /*...

Поиск по классу с полями char* для массива обьектов class a[i] - C++
Есть класс: aero.h #ifndef AERO_H #define AERO_H #include &lt;string&gt; using namespace std; class aero

Освобождение памяти (удаление массива char) и raised exception class EAccessViolation - C++
Подскажите плиз, есть программа, вот кусок AnsiString inputText; int inputTextLength; inputText= Form1-&gt;Edit1-&gt;Text; ...

Переопределение типа "class" - C++
Как я понял, ошибка &quot;переопределение типа &quot;class&quot;&quot; означает что класс уже был где-то объявлен, однако у меня он вроде нигде больше не...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Ответ Создать тему
Опции темы

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