CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C++] Header, fichiers .h, prépossesseur

T4ipan
T4ipan
Niveau 4
10 septembre 2005 à 20:27:28

Bonjour =)

Je suis en train d´apprendre à coder en C++ grâce à un livre. Celui-ci est bien précis et m´apprend des opérateurs intéressants, cependant quelquechose n´y est pas très bien expliqué : les headers et autres fichiers .h .

Je connais les commandes du prépossesseur du type #ifdef, #ifndef, #define...

En revanche, #include reste un grand mystère pour moi.

Dois-je déclarer toutes mes commandes dans le header ? comment déclarer ( par une macro ? ) ? où le trouver ? comme en créer un ?

Tant de questions auxquelles je trouve difficilement des réponses.

Alors si quelqu´un pouvait m´aider, merci d´avance =)

TATOFOREVER
TATOFOREVER
Niveau 8
10 septembre 2005 à 21:23:17

Non, en fait tu definis dans le header de qu´est-ce que t´as becoin seulement. Et l´include on l´utilise dans le fichier source (le .cpp), le header est le fichier d´entete (le .h)
Outre chose, si t´es en train d´aprendre C++. Commence par utilisser les librairie standart, et houblie la definition dans les headers pour le moment.
Aprends la metodologie de l´OO, les tableux(arrayss), l´I/O et les pointeurs. C´est les points les plus importants a savoir...
Et si t´est pas capabble d´en apprendre le C++.
Tu peut revennir un ti pu plus en arriere, le C.
Il est un peu plus facile a aprendre que le C++ et plus rapide encore. Il n´y a pas de langage qui bat le C(a part l´Assambleur) en rapidité.
Mais chose qui n´est pas propre du C c´est la clarieté du code, dans ce domaine le C++ bat le C. Ca n´empeche pas non plus de faire des gros jeux avec le C. Exemple QUAKE 3 est codé en C!
Et sourtout n´essaie de faire de l´OO avec un langage structurée. Tu pourrais le simulair mais c´est pas du tout pareil...
Bonne chance...

Bigloo
Bigloo
Niveau 10
10 septembre 2005 à 21:55:11

T4ipan> Je vais faire une réponse différente de celle de TATO parce qu´apparemment on n´a pas du tout la même façon lui et moi de voir les choses.

Le fichier .h est "le calme avant la tempête". C´est dans celui là que tu dois définir le maximum de ce que tu vas utiliser après. Bien sûr, ça n´est pas obligatoire, de même que tu peux faire un seul fichier source de 1500 lignes avec un bordel pas possible.

Mais tu te rendras vite compte que plus tu es clair, mieux c´est. Ainsi pour chaque aspect différent de ton programme, tu devrais faire un header qui précise à l´avant ce qui va être contenu, et un ou plusieurs fichiers sources avec ce header.

T4ipan
T4ipan
Niveau 4
10 septembre 2005 à 21:56:52

Je suis en train d´apprendre ^^
Je veux juste mettre en pratique ce que j´apprends.
Mais pour une fonction simple du genre :

  1. include <iostream>

void main()
{
cout << "Hello world";
}

le compilateur me donne une erreur : cout undeclared.

Problème de librairie ?

Merci pour les conseils, je vais les suivre ^^

T4ipan
T4ipan
Niveau 4
10 septembre 2005 à 22:38:04

Ce qui est étrange, c´est que même quand le programme semble fonctionner, il ne se lance pas ( si je fais compiler + exécuter, il marque 0 erreur mais rien de se passe

Ptival
Ptival
Niveau 10
11 septembre 2005 à 00:47:38

Lorsque tu utilises les éléments standards C++ (iostream, la STL...), il faut que tu utilises le namespace std, tu as 2 méthodes :

Soit avant chaque identifiant, tu rajoutes std::

  1. include <iostream>

void main()
{
std::cout << "Hello world";
char a;
std::cin >> a;

std::vector<int> vInt;

(...)
}

Ou bien, tu mets dans la portée globale de ton programme :

using namespace std;

Et ensuite tu utilises cin, cout (...) sans préfixer de rien :)

TATOFOREVER
TATOFOREVER
Niveau 8
11 septembre 2005 à 22:17:18

essaie <iostream.h>
ca devrait compiler...

xterminhate
xterminhate
Niveau 3
12 septembre 2005 à 08:57:35

iostream.h est obsolete...

-> using namespace std; dans le .cpp et ca roule.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment