Автор Тема: C++ Интерфейс и реализация  (Прочитано 1930 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн smallNix

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 129
C++ Интерфейс и реализация
« : 28 Март 2012, 02:23:39 »
 Доброго времени суток. Вопрос с одной стороны простой, с другой - не такой простой  :) Имеем следующую ситуацию: класс... назовём его "printer", в нём всего 1-н открытый метод - void printData (const char* pData); Который выводит на экран строку, указатель на которую является параметром метода. С помощью "g++ -c printer.h printer.cpp" получаем "printer.o" Теперь в отдельной папке создаём файл main.cpp, в котором создаём объект класса printer и вызываем метод printData, с какой-нибудь константой (в файле, конечно, напишем "#include "printer.h" "). Теперь в эту папку копируем printer.h и printer.o и пытаемся скомпилисть, например так: "g++ -c main.cpp printer.h printer.o" или так  "g++ -c -о main.cpp printer.h printer.o". Линковщик негодует. Возникает вопрос: можно ли описанным способом отделить интерфейс от реализации и в чём, собственно, ошибка? о_О
P.S.: На тёмную сторону не перехожу - любопытством мучаюсь ;)
Кто-то же должен что-то делать...
 


Оффлайн ZEN

  • Местный житель
  • ***
  • Сообщений: 217
Re: C++ Интерфейс и реализация
« Ответ #1 : 28 Март 2012, 19:33:07 »
g++ main.cpp printer.o -o main
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо
 

Оффлайн smallNix

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 129
Re: C++ Интерфейс и реализация
« Ответ #2 : 30 Март 2012, 01:03:54 »
Zen, спасибо за ответ. Проблема решена  ::) Да её собственно и не было - просто я по запарке (писал тест ночью), пропустил в реализации метода printData область действия класса.
 Так что описанный мной в вопросе способ работает: можно просто дать команду:

g++ -c main.cpp printer.h printer.o && g++ -o pr main.o printer.o && ./pr

Кто-то же должен что-то делать...
 

Теги:
 

Реализация fork на shell-скриптах?

Автор epros

Ответов: 5
Просмотров: 3270
Последний ответ 26 Ноябрь 2013, 16:05:42
от yura_n
Как вывести информацию с терминала на web-интерфейс

Автор Sherzod

Ответов: 4
Просмотров: 1165
Последний ответ 25 Февраль 2016, 05:07:12
от ihammers