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

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

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

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

18.05.2013, 15:03. Просмотров 434. Ответов 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];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.05.2013, 15:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с class ами. Заполнение дин. массива типа class (C++):

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

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

Разъясните код пжлст(выдает ошибку:cannot convert from 'class std::list<class c_bullet *,class std::allocator<class c_bullet *> >::iterator' to 'int') - C++
Есть такие строки: std::list&lt;c_bullet*&gt; Bullets; ... for(auto i = Bullets.begin(); i != Bullets.end(); /**/) В строке цикла вот...

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++
Доброе всем время суток ) столкнулся с проблемой Есть у меня несколько классов и есть класс внутри которого созданы векторы хранящие...

1
kalpakk
13 / 13 / 1
Регистрация: 02.07.2011
Сообщений: 62
18.05.2013, 15:48 #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;
}
извиняюсь если не правильно понял вопрос.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.05.2013, 15:48
Привет! Вот еще темы с ответами:

Объяснить причины ошибки "Extra qualification 'CLASS CONSTRUCTOR' and 'CLASS' has incomplete type" - C++
Согласно синтаксису, вроде все правильно, но ошибка... что не так? Ошибки компилятора ниже на рисунке... #include &lt;iostream&gt; ...

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

Шаблоны типа template<class T*> - C++
Здравствуйте, объясните пожалуйста, что означает сия запись: template&lt;class T*&gt;. И означает ли она, что я далее смогу использовать только...

Написать функцию перегрузки оператора инкремента для увеличения переменной типа enum class - C++
Доброго времени суток. Есть перечисление. enum class Month { jan = 1, feb, mar, apr, may, jun, jul, aug, sep, nov, dec }; ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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