Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Builder Find package import https://www.cyberforum.ru/ cpp-builder/ thread1434507.html
Здравствуйте, такая проблема . Пишу курсовую, установил С++ Builder 6(раньше с ним мало сталкивался). Попытался открыть один проект (пример с флешки).При попытке запустить программу , выбило ошибку Программа которую открываю, 100% рабочая(((! Да ещё , ос windows 8.1 , установка билдера прошла успешно.
В тексте расположить в обратном порядке предложения. Слова в предложениях поменять местами(1-2, 3-4) C++ Builder
Помогите написать программу. 2 версии программы написал, но неработоспособны. В тексте расположить в обратном порядке предложения. Слова в предложениях поменять местами(1-2, 3-4).
C++ Builder Работа с методом StringToGUID() Здравствуйте!! Пытаюсь конвертировать из строки в TGUID, void __fastcall TForm1::FormCreate(TObject *Sender) { UnicodeString fg = "{B196B284-BAB4-101A-B69C-00AA00341D07}"; TGUID IID_IConnectionPointContainer = StringToGUID(fg); } но почему-то выходит вот такая вот ошибка Unit1.cpp(69): E2015 Ambiguity between '_fastcall System::Sysutils::StringToGUID(const System::UnicodeString) at... https://www.cyberforum.ru/ cpp-builder/ thread1434056.html C++ Builder Как зафиксировать две строки в TMemo? https://www.cyberforum.ru/ cpp-builder/ thread1434003.html
У меня есть цикл. И в нём постоянно в memo заносится новая строка. Вот так они заносятся, заносятся и первые строки начинают уплывать из зоны видимости. А можно сделать так, что бы первые две строки никуда не уплывали, а оставались на месте? Что бы такая своеобразная шапка получилась.
C++ Builder Взять ссылку на элемент TListBox'a
Всем доброго времени суток. Никак не могу врубиться. Имеется ListBox есть класс, который использует название итема. Можно ли передать ссылку на этот элемент в класс и при изменении текста внутри класса, менялась бы запись ListBox'а ? this->listBoxNetworks->Items->Strings; Подкиньте примерчик, как передать ссылку на этот элемент в другой класс(в функцию) для управления ей из другого места....
C++ Builder Как в С++ объявить массив объектов? Всем привет! Есть 2 метода в классе, один возращает кол-во записей в таблице: int Department::getRowsCount(){ .... int count = 20; return count; } https://www.cyberforum.ru/ cpp-builder/ thread1433938.html
C++ Builder Программа для решения ребусов Всем доброго времени суток! Нуждаюсь в помощи! Нужна написать игру, которая позволяет решать ребусы при помощи замены букв-цифрами, пример ДЕДКА+БАБКА+РЕПКА=СКАЗКА 94950+80850+74350=250150 помогите,плиз,очень нужно https://www.cyberforum.ru/ cpp-builder/ thread1433632.html C++ Builder Реализовать выезжающую панель
Хотелось б сделать так,главная форма,при нажатии было движение с выезжающей панелью,подскажите,как осуществить?
C++ Builder При выборе текста в ComboBox в Memo отображать нужный текст https://www.cyberforum.ru/ cpp-builder/ thread1433551.html
Подскажите,как сделать,чтоб при выборе текста в ComboBox в Memo отображался нужный текст?
C++ Builder Как программно кликнуть по кнопке на веб странице? Я уже устал искать, ничего не выходит, а думал, что проблем не будет. Читаю страницу с помощью CppWebBrowser, на странице есть кнопка, надо её нажать <a id="nohook_8143588171" class="link-show-more" href="#" data-show-more="link-show-more">Показать ещё</a> Пробовал такWideString ID = "nohook_8143588171"; if( CppWebBrowser1->Document ) { TComInterface<IHTMLDocument2> pDocument; ... https://www.cyberforum.ru/ cpp-builder/ thread1433504.html
C++ Builder Нарисовать часть окружности
Здравствуйте форумчане. Из центра окружности выходит два луча разной длины. Зная определенный радиус необходимо соединить эти два луча в виде дуги, чтобы получилась долька как у апельсина, или пирога. В голову приходит: 1. определить углы лучей относительно центра arctang 2. отрисовать дугу от угла до угла cos\sin 1. Найти точки на лучах соответствующие радиусу 2. Транспонировать...
C++ Builder Избавиться от вырожденности в транспортной задаче Пишу программу для решения транспортной задачи. Если опорный план получается вырожденным т.е количество клеток меньше m+n-1, то нужно добавить нулевые элементы в матрицу. Но их нужно добавить таким образом, чтобы не было циклов в матрице (Как на картинке). Подскажите пожалуйста, как это можно сделать? https://www.cyberforum.ru/ cpp-builder/ thread1433452.html
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
0

Как правильно создать массив объектов текущего класса в методе данного класса? - C++ Builder - Ответ 7551805

30.04.2015, 11:08. Показов 1798. Ответов 2
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Привет!

Ставится задача создания метода, который формирует массив объектов. Правильно ли делать этот метод внутри класса, экземпляром которого должны быть эти элементы массива?

Есть класс (инициализация):

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
38
39
40
41
42
43
44
45
46
47
48
49
50
class Department{
 
  private:
 
    // код цеха
    int code;
 
    // имя цеха
    UnicodeString name;
 
    // нижние 2 наверное нафиг
    TADOQuery * query;
 
    // кол-во записей в таблице
    int rowsCount;
 
    // DataSource
    TDataSource * source;
 
    // Лукап комбобокс
    TDBLookupComboBox * lookup;
 
    // заголовок
    TLabel * label;
 
  public:
 
    // геттер
    UnicodeString getName();
 
    // сеттер кол-ва записей отделов
    void setRowsCount();
 
    // геттер числа строк
    int getRowsCount();
 
    // получить все отделы
    Department * getAll();
 
    // получить единственный элемент
    void Department::getItem();
 
    // получить массив отделов с помощью стека
    void Department::getAllStack();
 
    // получить свойства для данного отдела
    void Department::getProperties();
 
    Department();
};

Определение:

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
38
39
40
41
42
// Конструктор первого создания
Department::Department(){
  this->setRowsCount();
}
 
UnicodeString Department::getName(){
  return this->name;
}
 
// кол-во записей отделов
void Department::setRowsCount(){
  TADOQuery * sql = new TADOQuery(DataModule1);
  sql->Connection = DataModule1->DB;
  sql->SQL->Text = "SELECT COUNT(*) AS count FROM t_division WHERE LEVEL = 3";
        sql->Open();
  int count = sql->FieldByName("count")->AsInteger;
  this->rowsCount = count;
}
 
// кол-во записей отделов
int Department::getRowsCount(){
    return this->rowsCount;
}
 
// перебираем все отделы
Department * Department::getAll(){
 
  Department * depArray = new Department [this->rowsCount];
  DataModule1->departmentTab->First();
  int c = 0;
 
  while(!DataModule1->departmentTab->Eof){
 
    Department * depModel = new Department();
    depModel->code = DataModule1->departmentTab->FieldByName("CODE")->AsInteger;
    depModel->name = DataModule1->departmentTab->FieldByName("NAME")->AsAnsiString;
    depArray[c] =  * depModel;
    DataModule1->departmentTab->Next();
    c++;
  }
  return depArray;
}

Очень интересует вот это место:

C++
1
2
3
4
5
6
7
8
9
while(!DataModule1->departmentTab->Eof){
 
    <b>Department * depModel = new Department();
    depModel->code = DataModule1->departmentTab->FieldByName("CODE")->AsInteger;
    depModel->name = DataModule1->departmentTab->FieldByName("NAME")->AsAnsiString;
    depArray[c] =  * depModel;
    DataModule1->departmentTab->Next();
    c++;</b>
}

Создание такого массива объектов класса текущего класса вводит в заблуждение. При этом конструктор отрабатывается уйму раз. Но данный метод getRowsCount, лежит для того, чтобы не вызывать его каждый раз при создании объекта, ведь мне нужен count для цикла for, чтобы этот массив перебирать.

Типа того:

C++
1
2
3
4
5
Department * department = new Department();
  Department * depArray  =   department->getAll();
  for(int i = 0; i < department->getRowsCount(); i++){
     testArrayMemo->Lines->Add(depArray[i].getName());
  }

В каком месте правильнее этот массив собирать? В общем оно даже работало и собиралось, пока я не определил конструктор.

Как правильно организовать данную вещь. На с++ раньше не кодил. Вижу что тут что-то не так. Что приходит на ум - наследование либо второй конструктор без параметров. Посоветуйте как правильно?

Вернуться к обсуждению:
Как правильно создать массив объектов текущего класса в методе данного класса? C++ Builder
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2015, 11:08
Готовые ответы и решения:

Создать массив объектов данного класса (задача и наброски кода внутри)
Текст задачи: 2. Напишите программу, в которой объявляется делегат для методов с символьным...

Массив объектов одного класса как поле другого класса
Доброе время суток. Мне тут в универе задали лабу, нужно создать класс полем которого будет массив...

Массив объектов класса как член другого класса
Здравствуйте. У меня тут возникла проблемка #include &quot;main.h&quot; class player { public: ...

Как можно еще создать массив объектов класса
допустим у меня есть основной класс и куча классов что наследуют его. помню видео в котором...

2
30.04.2015, 11:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.04.2015, 11:08
Помогаю со студенческими работами здесь

Как создать статический двумерный массив объектов одного класса?
Есть определенное множество объектов типа tile^. Нужно их положить в двумерный массив с...

Как создать массив объектов одного класса в другом, и как к ним обращаться?
вот класс: #include &lt;iostream&gt; #include &lt;string.h&gt; using namespace std; class File {...

Приём константных векторов класса, как аргументов в методе другого класса
Есть такой класс: class Order { private: int numberOrder; map &lt;string, int&gt; catalogDish;...

Как вызвать метод вложенного класса в методе родительского класса
Имеется родительский класс для прорисовки графики Jogj package objects; import...

Как в методе класса вызвать другой метод того же класса?
class mate { public: int AplusB(int A, int B) { return A+B; } int AplusBplusC(int A,...

Как вызвать метод класса в другом методе этого же класса?
&lt;? class load_files{ public function traverse_hierarchy($path) { // from...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru