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

Наращивание списка в конструкторе класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти наименьшее количество одинаковых, идущих подряд элементов http://www.cyberforum.ru/cpp-beginners/thread169549.html
Дан вектор размерности N. Найти наименьшее количество одинаковых, идущих подряд элементов.
C++ Критерии Пирсона Здравствуйте. Есть алгоритм генератора случайных чисел на заданном интервале, элементарный. Нужно всунуть сюда проверку равномерного распределения этих чисел за критериями Пирсона. Помогите.... http://www.cyberforum.ru/cpp-beginners/thread169533.html
Область внутри параболы C++
Определить принадлежит заданная точка данной области или нет.Помогите пожалуйста.Что-то с данной областью плохо получается.((
Поясните алгоритм! C++
Задано натуральное число N. Вывести на экран все пары натуральных чисел A>10, B>A таких, что значение произведения A*B<N не изменится, если изменить порядок записи цифр каждого из сомножителей на...
C++ Чем отличается код десятичной и восьмеричной программы для чисел? http://www.cyberforum.ru/cpp-beginners/thread169516.html
Программа для чисел, заданных в десятичной и восьмеричной системе счисления.Чем будет отличатся код?
C++ Произведение элементов массива, расположенных между максимумом и минимумом Добый день. Подскажите пожалуйста, что я сдалелал не так. Задание произведение элементов массива, расположенных между максимальным и минимальным элементами массива Почему-то не ищется... подробнее

Показать сообщение отдельно
Reiji Cross
26 / 26 / 1
Регистрация: 14.05.2010
Сообщений: 57

Наращивание списка в конструкторе класса - C++

26.09.2010, 19:55. Просмотров 328. Ответов 0
Метки (Все метки)

Доброго времени суток!
Разбираясь с классами наткнулся на такое задание.

класс должен включать обязательный атрибут char *name.
Определить в классе статическую переменную – количество объектов и статическую переменную указатель на список объектов. Также определить метод Show(void) для распечатки имен объектов из списка.

Реализовать классы так, чтобы список наращивался динамически при создании объектов (работа со списком в конструкторе).
Подразумевается что по нажатию ключевой клавиши в писок добавляется объект данного класса. Тут то у меня и загвоздка. Если выделять память вне конструктора, то создание такого списка несложная задача. Просто выделить массив в программе под объекты данного класа тоже по моему неправильно. Во первых получится что список не наращивается в конструкторе, а во вторых мы не можем знать сколько пользователь надумает создать таких объектов. Не совсем понятно как в этом случает в основной программе организовать объекты этого класса.

Вот мои наброски класса
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
class Test {
protected:
    char *name;
    char *type;
    static int count;
    static Test *p;
public:
    int GetCount(){return count;};
    Test(char *s, char *t);
    Test(){};
    char *Show();
};
 
int Test::count = 0;
Test *Test::p = NULL;
 
Test::Test(char *s, char *t){
    count++;
    if((count - 1) == 0) {
        p = this;
        strcpy(p[count - 1].name, s);
        strcpy(p[count - 1].type, t);
    } else {
        realloc(p, count*sizeof(Test));
        strcpy(p[count - 1].name, s);   
        strcpy(p[count - 1].type, t);
    }
}
 
char *Test::Show(){
    char *str;
    for(int i = 0; i < count; i++){
        strcat(str, name);
        strcat(str, "\n");
    }
    return str;
}
Изначально мне эта задача приглянулась из-за того, что отличалась постановкой от других заезженных примеров. Но сейчас понять и решить ее стало делом принципа.

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