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