bjr a tous
g une question de debutant (puisque j'en suis un):
voici la source d'un fichier d'entete :
#ifndef CCC_EMPL_H
#define CCC_EMPL_H
#include <string>
using namespace std;
/**
A basic employee class that is used in many examples
in the book "Computing Concepts with C++ Essentials"
*/
class Employee
{
public:
/**
Constructs an employee with empty name and no salary.
*/
Employee();
/**
Constructs an employee with a given name and salary.
@param employee_name the employee name
@param initial_salary the initial salary
*/
Employee(string employee_name, double initial_salary);
/**
Sets the salary of this employee.
@param new_salary the new salary value
*/
void set_salary(double new_salary);
/**
Gets the salary of this employee.
@return the current salary
*/
double get_salary() const;
/**
Gets the name of this employee.
@return the employee name
*/
string get_name() const;
private:
string name;
double salary;
};
#endif
je comprend la source mais est ce que l'on est oblige de declarer les squelette des fonction dans un fichier d'entete ?
j'espere avoir etai asse clair dans la formulation
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Pour les classes (le cas présent) oui c'est nécessaire, sinon le
compilateur dit qu'il n'a pas trouvé la déclaration correspondante.
Pour les autres fonctions, c'est juste pour les déclarer aux autres
fichiers que la fonction existe, c'est nécessaire en C++ mais pas en C
ou on suppose que la fonction est externe.