ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #801  
Старый 01.03.2008, 01:09
Delimiter
Banned
Регистрация: 08.04.2005
Сообщений: 446
Провел на форуме:
2187381

Репутация: 518
По умолчанию

пишут и так и так встречал оба варианта.... поэтому как нравится.... вот к примеру мне не нраивтся ООП ваапще.... дык я и не "кашляю" даже 8))))

... доходит до смешного, если мну нужен код.... я выдираю из классов и делаю понятные только мне функции и структуры
 

  #802  
Старый 01.03.2008, 02:09
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

Репутация: 275
Отправить сообщение для Forcer с помощью ICQ
По умолчанию

Меня лично учили так(Дейтелы пишут также): нужно отделять определение(интерфейс) от реализации. В объявлении класса не должна находиться реализация методов. Т.е. внутри определения класса - только прототипы методов. Класс - это конечный программный продукт. Клиентам, которые пользуются классом, совсем не обязательно видеть, как реализованы методы. Им нужно знать какими методами можно воспользоваться и какие результаты будут получены. Поэтому внутри класса методы должны находиться в следующем порядке: сначала public, далее protected, и лишь потом private.
Цитата из Дейтелов:
Цитата:
Информация, являющаяся важной для интерфейса класса, должна включаться в заголовочный файл. Информация, которая будет использоваться только внутри класса и не потребуется клиентам, должна находиться в неопубликованном исходном файле. Это еще один пример принципа минимума привилегий.
Цитата:
Клиентам класса не обязательно видеть его исходный код для того, чтобы пользоваться этим классом.Однако клиентам необходимо иметь возможность компоноваться с объектным кодом класса.
Т.е. для класса создаем 2-а файла: .cpp(с реализацией методов) и .h(с объявлением класса). В свои включаем хедер, проект собираем вместе с файлом .cpp. Это не касается встроенных функций. Они должны находиться в объявлении класса. И ещё нужно использовать директивы препроцессора #ifndef, #define, #endif чтобы не допускать повторного включения заголовочных файлов.

P.S. Страуструп:
Цитата:
Хорошо спроектированный тип, определяемый пользователем, отличается от встроенного только тем, как он определён, а не тем, как он исползуется.

Последний раз редактировалось Forcer; 01.03.2008 в 02:15..
 

  #803  
Старый 01.03.2008, 02:44
Meanor
Познающий
Регистрация: 09.09.2007
Сообщений: 66
Провел на форуме:
188412

Репутация: 41
По умолчанию

Цитата:
Сообщение от Forcer  
Меня лично учили так(Дейтелы пишут также): нужно отделять определение(интерфейс) от реализации. В объявлении класса не должна находиться реализация методов. Т.е. внутри определения класса - только прототипы методов. Класс - это конечный программный продукт. Клиентам, которые пользуются классом, совсем не обязательно видеть, как реализованы методы. Им нужно знать какими методами можно воспользоваться и какие результаты будут получены.
Спасибо, т.е. все уперается в инкапсюляцию...

А вот конструкторы и деструкторы описываются в теле класса?
 

  #804  
Старый 01.03.2008, 03:13
Forcer
Постоянный
Регистрация: 12.04.2007
Сообщений: 413
Провел на форуме:
3578578

Репутация: 275
Отправить сообщение для Forcer с помощью ICQ
По умолчанию

Нет. Вся реализация, в том числе конструкторов и деструкторов, вне объявления класса. Хотя если вы пишите небольшой класс, возможно и не стоит строго следовать всем канонам, но зато это войдёт у вас в привычку.
 

  #805  
Старый 01.03.2008, 11:15
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
Меня лично учили так(Дейтелы пишут также): нужно отделять определение(интерфейс) от реализации. В объявлении класса не должна находиться реализация методов. Т.е. внутри определения класса - только прототипы методов. Класс - это конечный программный продукт. Клиентам, которые пользуются классом, совсем не обязательно видеть, как реализованы методы. Им нужно знать какими методами можно воспользоваться и какие результаты будут получены.
Справедливо только для C++. ИМХО это крайне неправильно(ну в других языках даже такой возможности нет), но если так не делать, появится куча ошибок при создании проекта, когда один класс используется в нескольких.
Связано с тем, что в С++ нельзя скомпилить файл, не зная прототипов.
 

  #806  
Старый 01.03.2008, 13:25
Shawn1x
Banned
Регистрация: 24.08.2007
Сообщений: 201
Провел на форуме:
983157

Репутация: 424
Отправить сообщение для Shawn1x с помощью ICQ
По умолчанию

Где можно скачать исходники джойнера на С++?
 

  #807  
Старый 01.03.2008, 18:35
SHLAK
Новичок
Регистрация: 10.12.2007
Сообщений: 12
Провел на форуме:
304510

Репутация: 16
По умолчанию

Есть ли у кого нибудь исходники калькулятора на С++?
 

  #808  
Старый 02.03.2008, 18:55
brasco2k
Постоянный
Регистрация: 23.11.2007
Сообщений: 342
Провел на форуме:
1215706

Репутация: 310
По умолчанию

Помогите написать такой код на C#:
Чтобы на каждый тик таймера выделялась следующая буква из текстогого поля...
 

  #809  
Старый 02.03.2008, 19:46
Darkor
Новичок
Регистрация: 03.02.2008
Сообщений: 5
Провел на форуме:
11617

Репутация: 0
По умолчанию

Нужна помощь в C#
Надо сделать таблицу как в excel'e
Скажем чтоб было 3 строки и 10 столбцов.
Подскажите плз.
 

  #810  
Старый 02.03.2008, 20:00
Garfi
Участник форума
Регистрация: 02.02.2008
Сообщений: 106
Провел на форуме:
594791

Репутация: 55
Отправить сообщение для Garfi с помощью ICQ
По умолчанию

Цитата:
Сообщение от SHLAK  
Есть ли у кого нибудь исходники калькулятора на С++?
это подходит?
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ