2013-04-18 3 views
-1

У меня есть следующий код в одном файле CPP (tested.cpp):Как написать файлы заголовков HelloWorld?

class tested { 
     private: 
       int x; 
     public: 
       tested(int x_inp) { 
         x = x_inp; 
       } 

       int getValue() { 
         return x; 
       } 
}; 

Теперь я хочу написать заголовочный файл для этого кода. Как это должно выглядеть? И что мне следует изменить в моем файле cpp после того, как у меня есть файл заголовка. Я полагал, что мой файл заголовок должен быть чем-то вроде этого:

class tested { 
    private: 
     int x; 
    public: 
     tested(int x); 
     int getValue(); 
} 

Тогда в моем CPP файл я должен #include "tested.h". Мне также необходимо заменить весь класс:

tested::tested(int c_inp) { 
    x = x_inp; 
} 

tested::getValue(){ 
    return x; 
} 

Правильно ли это?

+0

он генерирует ли какую-либо ошибку или предупреждения о Compilatio или выполнении ? – Philipp

+2

В определении 'getValue' нет типа возврата, и в имени параметра конструктора есть опечатка, иначе да. Но зачем спрашивать, когда компилятор может ответить на это гораздо быстрее? – Jon

+0

«Правильно?» Почему бы вам не попробовать? – undu

ответ

1

Кроме того, необходимо ввести тип возврата для других методов, чем конструктор и деструктор:

int tested::getValue(){ 
    return x; 
} 
1

Да, как сказал freude, обычно защищать файлы заголовков от множества включений с помощью #ifndef (особенно в больших проектах или если ваш файл может быть частью одного).

Некоторые другие вещи (в основном вопрос стиля):

  • Не обязательно ставить «частное:» для первых членов класса, так как все члены класса являются частными по умолчанию.
  • Это обычно поставить знак перед (или после) имя каждого атрибута класса (например, «x_» вместо «х»)
Смежные вопросы