В C ++, как написать полную реализацию в заголовке для классов и функций (возможно, на основе шаблонов) - PullRequest
0 голосов
/ 29 октября 2018

Я обычно объявляю в заголовочном файле и внедряю в файл cpp, но сейчас я делаю назначение, и, по-видимому, для краткости инструктор не хочет, чтобы я это делал, но настаивает, чтобы я написал весь код в заголовке файлы.

Итак, как лучше всего это сделать?

Для классов я должен сначала все объявить, а затем перейти к нижней части страницы и начать реализацию?

class myClass 
{
void myMethod();
}

void myClass::myMethod() { //.... }

или я должен просто реализовать, как я заявляю

class myClass 
{
void myMethod() { //... } ;
}

А как насчет бесплатных функций?

А когда мне писать "inline"?

1 Ответ

0 голосов
/ 29 октября 2018

или я должен просто реализовать, как я заявляю

Да, реализуйте их в классе, а не вне класса. Когда (сомнительная) аргументация вашего инструктора в том, что все помещено в заголовок, относится к краткости, это, очевидно, верный путь.

А как насчет бесплатных функций?

То же, что и для функций-членов, определяйте их на ходу.

А когда мне писать "inline"?

Вы должны добавить inline ко всем обычным свободным функциям. Это не нужно для шаблонов функций или определений функций-членов в классе. Когда вы можете использовать C ++ 17, рассмотрите и встроенные переменные.

...