C ++ является объектно-ориентированным в том смысле, что он поддерживает объектно-ориентированную парадигму разработки программного обеспечения.
Однако, в отличие от Java, C ++ не заставляет вас группировать определения функций в классы: стандартный способ объявления функции C ++ - просто объявить функцию без какого-либо класса.
Если вместо этого вы говорите об объявлении / определении метода, то стандартный способ состоит в том, чтобы поместить только объявление во включаемый файл (обычно с именем .h
или .hpp
) и определение в отдельный файл реализации (обычно с именем .cpp
или .cxx
). Я согласен, что это действительно несколько раздражает и требует некоторого дублирования, но так был разработан язык.
Для быстрых экспериментов и проектов с одним файлом подойдет все, что угодно ... но для больших проектов такое разделение практически необходимо.
Примечание: даже если вы знаете Java, C ++ - это совершенно другой язык ... и это язык, который нельзя изучить путем экспериментов. Причина в том, что это довольно сложный язык с множеством асимметрий и явно нелогичным выбором, и, что наиболее важно, когда вы делаете ошибку, нет «ангелов ошибок времени выполнения», которые спасут вас, как в Java ... но вместо этого есть » демоны неопределенного поведения ".
Единственный разумный способ изучить C ++ - это прочитать ... независимо от того, насколько вы умны, вы не сможете угадать, что решил комитет (на самом деле умение иногда даже является проблемой, потому что правильный ответ нелогичен и является следствием исторического наследие.)
Просто выберите одну или две хорошие книги и прочитайте их от корки до корки.
.cpp
файле.