2016-09-10 4 views
-2

Недавно я начал работать с C++, и мне было интересно. Если я работаю над DLL, я сначала определяю все классы и их функции в заголовке, а затем записываю их функциональность в файле .cpp в том же проекте. Но что, если я вместо этого определил только сами классы, а затем определил их функции в файле .cpp.Определение функций класса в .cpp библиотеки динамических ссылок

Это несколько уменьшит количество требуемого кода, и код будет более читаемым с гораздо меньшими :: нотами.

Возможно ли это?

+2

Вы хотите сказать, что вы хотели бы поставить только «класс C;» в заголовке, а затем «void C :: f() {...}' в источнике? Это не сработает. Тот, кто включает этот заголовок, не знает, что класс предоставляет метод с именем 'f', и поэтому не сможет его вызвать. –

+0

Напишите код программы, использующей DLL, и это невозможно сделать очевидным. –

+0

Вам необходимо [The Definitive C++ Book Guide and List] (http://stackoverflow.com/q/388242/1889329). ** Нехорошо! ** – IInspectable

ответ

1

Вы должны определить свои классы (структуры и т. Д.) И объявить пространство имен и функции в своем заголовке. При этом, вы можете использовать

using namespace <your_library_namespace>;

А потом все в исходном файле в <your_library_namespace> не нужно будет использовать <your_library_namespace>::, прежде всего.

+0

И * «объявите свой класс» * вы, очевидно, хотели сказать * «определить свой класс» *. Объявление класса - это класс X; – IInspectable

+0

Да, вам нужно определить свой класс (и структуры и т. Д.) И объявить свои функции –

 Смежные вопросы

  • Нет связанных вопросов^_^