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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
McAron
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 13
#1

Помогите понять принцип составления проги - C++

25.09.2011, 00:23. Просмотров 1501. Ответов 22
Метки нет (Все метки)

Пытаюсь обучиться работать с формами в Visual Studio, перед этим имевши небольшой опыт работы под Builder'ом.
Вызывает недоумение, почему обработчики всяческих действий (Клик по кнопке к примеру) пишутся в заголовочном файле Form1.h , а не в projectname.cpp, иль каком-другом *.cpp. В этом есть смысл какой-то? Или стоит в Form1.h оставлять лишь объявление, а тело обработчика совать в *.cpp?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2011, 00:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите понять принцип составления проги (C++):

НЕ могу понять принцип программирования - C++
Здравствуйте, господа программисты, требуется ваша помощь. не могу понять секрет программирования. Теорию я знаю дохожу до написания кода у...

Не могу понять принцип работы программы - C++
Откуда берутся : в количестве введенных символов? #include <iostream> #include <iomanip> using namespace std; int main() { ...

Построить N-арное дерево: не могу понять принцип размещения элементов - C++
Здравствуйте, нужно построить n-арное дерево. Алгоритм постоени бинарного мне полностью понятен, но тут не могу сообразить принцип...

Помогите найти ошибку в программе составления палиндрома числа - C++
Вот програма в которой вводится число а потом высверивается массив из этих чисел, а также составляет палиндром ( палиндром это числа типа...

Помогите реализовать принцип fifo - C++
Помогите реализовать принцип "первый зашел первый вышел" и 3 состояния процесса рождение: выполнение и ожидание.

Помогите написать проги в BORLAND C31 - C++
Очень нужно написать программы до понедельника плиззззззззззз 1=http://s017.***********/i400/1111/fb/426bcef9da41.jpg ...

22
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
25.09.2011, 00:35 #2
в топку инкапсуляцию.
это только на первом курсе ее толкают, что мол одна из 3х парадигм. А на практике она часто игнорится
1
Jupiter
Каратель
Эксперт С++
6558 / 3979 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.09.2011, 01:07 #3
Цитата Сообщение от sandye51 Посмотреть сообщение
в топку инкапсуляцию.
это только на первом курсе ее толкают, что мол одна из 3х парадигм. А на практике она часто игнорится
у студентов/говнокодеров, без обид, но это так
0
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
25.09.2011, 01:11 #4
посмотри boost, там почти все либы only header. Да и у нас преподы толковые в универе говорят что инкапсуляция (в смысле разделения реализации и интерфейса) не совсем нужная штука
в си шарпе вон нет никакого разделеления на объявление и реализацию и никто не жалуется
1
Jupiter
Каратель
Эксперт С++
6558 / 3979 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.09.2011, 01:19 #5
Цитата Сообщение от sandye51 Посмотреть сообщение
посмотри boost, там почти все либы only header.
в бусте много шаблонов да и сама либа большая потому накладно делать реализацию в срр

Цитата Сообщение от sandye51 Посмотреть сообщение
в си шарпе
там все ни как у людей, как в мелкософте привыкли писать так другим и навязывают

Цитата Сообщение от sandye51 Посмотреть сообщение
вон нет никакого разделеления на объявление и реализацию и никто не жалуется
да? а как же разделение класса формы на 2 файла?

Цитата Сообщение от sandye51 Посмотреть сообщение
Да и у нас преподы толковые в универе говорят что инкапсуляция не совсем нужная штука
у меня в универе первокурсников учат на bc3.1, это повод для перехода на него?
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
25.09.2011, 01:21 #6
А в чем связь инкапсуляции и где описан класс в хедере или сипипи ? - главное, что пользователь класса будет видеть и использовать.
0
McAron
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 13
25.09.2011, 01:25  [ТС] #7
Вам наверно видней, но мне кажется, что удобней все же описывать обработчики в отдельном файле, а то если понасоздавать 10+ компонентов со всяческими обработчиками, то этот Form1.h читать будет не особо приятно.
Сейчас этим как раз заморачиваюсь.
Содал actions.cpp, в Form1.h дописал
C++
1
 #include "actions.cpp"
и оставил обьявление:
C++
1
 private: System::Void Butt_Click_1(System::Object^  sender, System::EventArgs^  e);
а тело функции перенес в actions.cpp:
C++
1
2
3
4
System::Void Butt_Click_1(System::Object^  sender, System::EventArgs^  e) 
             {
                 ::System::Windows::Forms::MessageBox::Show("Блаблабла") ;
             }
Но при компиляции вылезает
\actions.cpp(4): error C2065: 'Butt' : undeclared identifier
\actions.cpp(4): error C2227: left of '->Text' must point to class/struct/union/generic type

Подскажите пожалуйста, что не так?
0
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
25.09.2011, 01:31 #8
Цитата Сообщение от Jupiter Посмотреть сообщение
а как же разделение класса формы на 2 файла?
отделения реализации и интерфейса нет. Эти 2 файла служат для отделения кода, сгенерированного автоматически для визуальной части, от написанного руками
Цитата Сообщение от Jupiter Посмотреть сообщение
у меня в универе первокурсников учат на bc3.1, это повод для перехода на него?
выеживается не стоит. Я написал "толковые преподы", слаба богу такие тоже бывают.

а где твои плюсы за разделение?
Цитата Сообщение от Jupiter Посмотреть сообщение
потому накладно делать реализацию в срр
накладно это не аргумент. opencv тоже не маленькая, но там почему то не поленились
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
25.09.2011, 01:35 #9
Цитата Сообщение от sandye51 Посмотреть сообщение
а где твои плюсы за разделение?
Сопровождение и чтение чужого кода(да и своего ).

Добавлено через 1 минуту
Цитата Сообщение от sandye51 Посмотреть сообщение
opencv тоже не маленькая, но там почему то не поленились
Вот и хороший пример сопровождения чужого кода среди разработчиков.
0
McAron
0 / 0 / 0
Регистрация: 24.09.2011
Сообщений: 13
25.09.2011, 01:37  [ТС] #10
ээээ... вы в страшны дебри забрались
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
25.09.2011, 01:38 #11
Цитата Сообщение от McAron Посмотреть сообщение
ээээ... вы в страшны дебри забрались
Добрый совет, автогенерацию лучше не трогать
0
sandye51
программист С++
685 / 587 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
25.09.2011, 01:38 #12
Цитата Сообщение от KuKu Посмотреть сообщение
Сопровождение и чтение чужого кода
во всех современных редакторах можно свернуть реализацию.
вот та же интерфейсная часть
0
KuKu
1558 / 1036 / 78
Регистрация: 17.04.2009
Сообщений: 2,987
25.09.2011, 01:46 #13
Цитата Сообщение от sandye51 Посмотреть сообщение
во всех современных редакторах можно свернуть реализацию.
вот та же интерфейсная часть
Да, а еще можно вместо одной карты мира держать 200 карт каждой страны и по ним ориентироваться где, расположены страны между собой, только это не очень практично. Тут так же. Если вам нравится писать все вместе, то пишите, но жалко людей, которые будут читать код.
0
Jupiter
Каратель
Эксперт С++
6558 / 3979 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
25.09.2011, 01:50 #14
Цитата Сообщение от sandye51 Посмотреть сообщение
а где твои плюсы за разделение?
плюс разделения:
1) возможность ознакомится с интерфейсом не вдаваясь в реализацию(и без лишних телодвижений типа сворачивания реализации в редакторе)
2) возможность скрыть реализацию

Цитата Сообщение от sandye51 Посмотреть сообщение
отделения реализации и интерфейса нет. Эти 2 файла служат для отделения кода, сгенерированного автоматически для визуальной части, от написанного руками
с этим соглашусь, но такое разделение полное г... потому что нельзя делать серьёзные изменения в автоматически сгенерированом файле и при этом работать в визуальном редакторе
0
fasked
Эксперт С++
4945 / 2525 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
25.09.2011, 01:58 #15
Цитата Сообщение от sandye51 Посмотреть сообщение
посмотри boost, там почти все либы only header.
А знаете почему? Попробуйте описание шаблона разнести на *.hpp и *.cpp, вот весело то будет.
Кстати, инкапсуляция здесь не при чем.
2
25.09.2011, 01:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2011, 01:58
Привет! Вот еще темы с ответами:

Помогите с установкой проги на другом компе в сети! - C++
Проблема такая: хочу на все компы в сети установить Radmin Server . Желательно програмно , а то ходить пешочком как-то не хоцца, далеко...

Помогите плиз с алгоритмом проги (нужно отсортировать матрицу) - C++
Задача: Характеристикой столбца целочисленной матрицы назовём сумму модулей его отрицательных нечётных элементов. Переставляя столбцы...

Помогите плиз с алгоритмом проги (переставить слова в строке) - C++
Задача: В заданном тексте поменять местами каждые два соседних слова. Но нужно сделать, не используя библиотеки string. Допустим...

Помогите понять формулировку - C++
Объясните пожалуйста суть задания. С языком С не знаком. Только не не большие знания С++ Строки данного класса строятся по правилам...


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

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

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