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

Создание дерева в родительском классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Генератор судоку http://www.cyberforum.ru/cpp/thread90576.html
Маленькая проблемка с программой - в одном из 10 случаев программа зависает. Кому не сложно, прошу проверить и исправить. Вот полный работающий код: #include <iostream> #include <cstdlib> using namespace std;
C++ Работа с файлами тут две задачи по массивам)) подскажите почему не работают и как сделать так чтобы в файле ввсё это было(файл читал массивы, на первой строке в файле кол-во элементов, а на второй элементы). #include<iostream.h> using namespace std; int main() { const int n=5; int mas={12,3,14,21,12}, i; for(i=n-1; mas!=0 && i>=0; i--) http://www.cyberforum.ru/cpp/thread90549.html
C++ Новый стандарт с++
В 2009 году должен быть выйти новый стандарт. Хотелось бы узнать какие новшевства он принес в язык. Стал язык удобнее или нет. И какие компиляторы уже на данный момент поддерживают этот стандарт. P.S. Гугл не дал никаких убедительных ответов на вопросы.
С++ vs. Visual Studio C++! C++
В чем разница между C++ и Visual Studio C++??
C++ Открытие wav файла http://www.cyberforum.ru/cpp/thread90094.html
Здравствуйте. мне надо открыть музыкальный файл формата wav и считать информацию в массив из блока data. написала начало функции. но не работает. не находит блоки wav и data вообще. вот программа. что не так? WAVEFORMATEX* wfx; // Указатель на объект структуры WAVEFORMATEX HMMIO m_hmmioIn; // Мультимедийный дескриптор файла MMCKINFO m_ckIn; // Инфоромация о вложенном блоке формата...
C++ Удаление инфы из дискового файла Есть файл. Этот файл читается и пишется как типизированный (подозреваю, что к делу это не относится), то есть в качестве указателя на буфер юзится указатель на структуру. Надо из файла удалить одну запись. Как это сделать без использования временного файла ? подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1599 / 991 / 117
Регистрация: 27.09.2009
Сообщений: 1,911
Завершенные тесты: 1
04.02.2010, 18:51     Создание дерева в родительском классе
Объект класса Bx должен сам создавать объекты через new Bx(...), не вызывая при этом виртуальные методы. При этом указатели на полученные объекты заносятся в вектор, объявленный в A, но уже из конструктора Bx.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class A{
public:
    virtual void Method() = 0;
protected:
    vector<A*> children;
};
 
class B1: public A{
public:
    B1(const char* str)
    {
        for(int i=0; i<20; +i)
            children.push_back(new B1(str));
    }
};
Если все производные классы создают детей одинаково, можно воспользоваться шаблоном и сэкономить на писанине.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class A{
public:
    virtual void Method() = 0;
protected:
    vector<A*> children;
};
 
template<typename T>
void PopulateChildren(vector<A*> &children, const char* str)
{
    for(int i=0; i<20; ++i)
        children.push_back(new T(str));
}
 
class B1: public A{
public:
    B1(const char* str)
    {
        PopulateChildren<B1>(children, str);
    }
};
 
Текущее время: 10:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru