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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.86
Rusher_tsk
Сообщений: n/a
18.02.2010, 22:24     Отделение интерфейса от реализации #1
Доброго времени суток!
Имеется вопрос по теме, обозначенной в заголовке.
Предположим, я разрабатываю класс. Я создаю два файла: заголовочный файл (ClassName.h) и реализацию этого класса (ClassName.cpp)
Я хочу, чтобы никто не знал, как реализованы функции класса. Для этого мне необходимо получить объектный код реализации. Вопрос 1: как это сделать?
Теперь, предположим, я получил заголовочный файл класса и объектный код его реализации. Вопрос 2: каким образом я могу включить их в программу?
Используется среда разработки Visual C++ 2005 Express Edition.
Заранее спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
3623 / 901 / 48
Регистрация: 10.01.2010
Сообщений: 2,429
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
3623 / 901 / 48
Регистрация: 10.01.2010
Сообщений: 2,429
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
3623 / 901 / 48
Регистрация: 10.01.2010
Сообщений: 2,429
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++

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

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

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