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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.86
Rusher_tsk
Сообщений: n/a
#1

Отделение интерфейса от реализации - C++

18.02.2010, 22:24. Просмотров 2660. Ответов 8
Метки нет (Все метки)

Доброго времени суток!
Имеется вопрос по теме, обозначенной в заголовке.
Предположим, я разрабатываю класс. Я создаю два файла: заголовочный файл (ClassName.h) и реализацию этого класса (ClassName.cpp)
Я хочу, чтобы никто не знал, как реализованы функции класса. Для этого мне необходимо получить объектный код реализации. Вопрос 1: как это сделать?
Теперь, предположим, я получил заголовочный файл класса и объектный код его реализации. Вопрос 2: каким образом я могу включить их в программу?
Используется среда разработки Visual C++ 2005 Express Edition.
Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2010, 22:24     Отделение интерфейса от реализации
Посмотрите здесь:

Отделение интерфейса класса от реализации C++
Отделение интерфейса от реализации класса: компиляция кода реализации C++
C++ Отделение значения от ключа
Класс, отделение интерфейса от реализации C++
C++ Отделение интерфейса класса от его реализации
C++ Отделение корней уравнения и уточнение корня ур-я половинным делением
C++ Отделение класса в отдельные файлы (заголовочный и исполняемый)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
18.02.2010, 22:29     Отделение интерфейса от реализации #2
Файл: MyClass.h - описание класса:


//-------------------------
Файл: MyClass.cpp - реализация методов класса
#include "MyClass.h"

//-----------------------
Файл клиента: main.cpp - использование класса программой клиентом.
#include "MyClass.h"
insideone
Модератор
Автор FAQ
 Аватар для insideone
3634 / 912 / 48
Регистрация: 10.01.2010
Сообщений: 2,457
18.02.2010, 22:36     Отделение интерфейса от реализации #3
2 Genius Ignat как то ты не подробно
Empty.h
C++
1
2
3
4
5
class Empty{
   int a;
public:
   void Method();
};

Empty.cpp
C++
1
2
3
4
#include "Empty.h"
void Empty::Method(){
   a = 5;
}


main.cpp
C++
1
2
3
4
5
#include "Empty.h"
int main(){
   Empty E;
   E.Method();
}
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
18.02.2010, 22:37     Отделение интерфейса от реализации #4
Я хочу, чтобы никто не знал, как реализованы функции класса.
Надо развиваться: в наше время можно упрятать и данные в cpp.
insideone
Модератор
Автор FAQ
 Аватар для insideone
3634 / 912 / 48
Регистрация: 10.01.2010
Сообщений: 2,457
18.02.2010, 22:39     Отделение интерфейса от реализации #5
2 Genius Ignat можно вроде в DLL спрятать? Я как то пробовал кое что выходило... но потом я понял что мне этого не требуется
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
18.02.2010, 22:42     Отделение интерфейса от реализации #6
insideone:
Скачай книгу про COM в разделе COM и ты будешь творить чудеса,
твои прежние знания о возможности dll покажутся детским садом.

Добавлено через 1 минуту
Книжка самое оно написано круто и просто.
insideone
Модератор
Автор FAQ
 Аватар для insideone
3634 / 912 / 48
Регистрация: 10.01.2010
Сообщений: 2,457
18.02.2010, 22:43     Отделение интерфейса от реализации #7
Не не не, мне нужна информация рода "да" или "нет" разве сложно написать две буквы вместо тех 126?) И Rusher_tsk будет польза знать в каком направлении копать

Не по теме:

Цитата Сообщение от Genius Ignat Посмотреть сообщение
Книжка самое оно написано круто и просто
Да я то проглядел её. Прост скажи смысл изучать и читать то что пока не нужно? Пусть в архивах лежит когда нужен будет COM прочитаю, спасибо

Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
18.02.2010, 22:50     Отделение интерфейса от реализации #8
Я сам когда прочитал увидел такие перспективы которые мне не виделись в чистом ООП.

Добавлено через 5 минут

Не по теме:

Да я то проглядел её. Прост скажи смысл изучать и читать то что пока не нужно? Пусть в архивах лежит когда нужен будет COM прочитаю, спасибо


С тобой согласен мозг не резиновый всё сразу, не возможно надо постепенно,
у меня тоже много чего в архиве, руки не дойдут до этих книг наверное никогда.

Добавлено через 35 секунд
Ладно всё хватит оффтопить.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2010, 02:35     Отделение интерфейса от реализации
Еще ссылки по теме:

C++ Правило хорошего тона: отделение ввода-вывода C++
Отделение интерфейса от реализации C++
C++ Отделение целой части числа от дробной
Отделение дробной части от числа C++
C++ Какие механизмы обеспечивают разделение интерфейса и реализации?

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

Или воспользуйтесь поиском по форуму:
kazak
 Аватар для kazak
3030 / 2351 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
19.02.2010, 02:35     Отделение интерфейса от реализации #9
Срр файлы можно по отдельности компилировать. Компилируешь на релизе модуль со своим классом, получаешь объектный файл, который можно использовать вместо срр. Или как быль сказано выше создавать длл и либы.
Yandex
Объявления
19.02.2010, 02:35     Отделение интерфейса от реализации
Ответ Создать тему
Опции темы

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