LINUX.ORG.RU

C++ and C


0

0

Мне тут сказали чтоб я не мешал С и С++ в одной проге... Не могу понять - как быть!

QT проект. Четает прога конфиг файл, на основе его динамически добавляет QRadioButton, контейнер заполняет.
Нужно отлавливать переключение этих самых кнопок (мне так и не удалось передать слоту указатель на кнопку).

Какой должна быть структура проекта?

В модуле data.cpp функции обработки конфиг файла (void ...())
Где хранить указатели на QRadioButton и контейнер? В С просто, а С++...

Может есть русские источники по общей организации С++ проектов?

anonymous

У Стратуступа очень хорошо написано что такое ООП и что такое структурированное программирование. Там же поучительные статьи для перехода на C++ и как не надо писать в ООП.

Зачем вам тогда ООП?

Aleks_IZA
()
Ответ на: комментарий от Aleks_IZA

То есть как зачем?
Я с QT хочу программить.
Что такое ООП и структурированное программирование я знаю.
Но вот подход надо выбрать...

anonymous
()

ООП - это объектно-ориентированное программирование. Как ясно из названия, вся работа строится из создания объектов классов и работы с ними. Например, в Си вывод на экран делается printf-ом, в С++ для этого используется объект класса iostream cout: "cout << "hello" << endl ".

И в идеале так должно быть ВЕЗДЕ - при работе с файлами, с памятью, сетью, изображениями, выводом графикиИ т.д. - везде должны использоваться объекты нужных классов. А в твоём случае без этого вообще не обойтись, т.к. нужно динамически генерить форму с кнопками.

Вот тебе пример

QVBox *v = new QVBox(0);

v->show();

QRadioButton *r1 = new QRadioButton(v);
QRadioButton *r2 = new QRadioButton(v);
QRadioButton *r3 = new QRadioButton(v);
r1->show();
r2->show();
r3->show();

QCheckBox *c = new QCheckBox(v);
c->show();

И вообще, читай доку в assistant и /usr/lib/qt3/examples :)

Krasu
()

>>Где хранить указатели на QRadioButton и контейнер

В классе главной формы. обычно это QMainWindow в QT и KMainWindow в KDE.

Krasu
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.