class A {
int f(){return 0;}
}
b.
class A {
int f();
}
int A::f(){return 0;}
c. Эти классы практически идентичны, но есть небольшое отличие. Определение первого класса эквивалентено:
class A {
int f();
}
inline int A::f(){return 0;}
То есть, оно отличается от второго наличием ключевого слова inline. Оно означает, что компилятор постарается(так как это не всегда возможно) заменить вызов этой функции его определением. Рекомендуется не использовать вариант a (желательно использовать эквивалентную запись), так как смешиваются "что делает класс" и "как это делает".
Комментариев нет:
Отправить комментарий
Можно использовать теги <b>, <i>