innanzitutto mi associo agli altri utenti nel dirti di lasciar perdere quella guida, non per un pregiudizio sulle guide online, ma per il semplice fatto che non ti spiega nemmeno la differenza tra .h e .c (o .cpp).
Però ora rispondo anche alle tue domande
Postato originariamente da cassin.simone:
Ieri ho iniziato a leggere le guida di html.it sul c++. Da subito ho deciso che avrei associato alla teoria la pratica e, al primo codice (il fatidico hello word!) ho provato a scrivere e compilare...non ci sono riuscito ma il punto non è questo. Non ho ben capito cosa cambia tra file di intestazione (.h) e file c++ (.cpp). Cosa cambia?
Il file .h viene detto header.
Al suo interno stanno (dovrebbero stare) solamente i typedef, i prototipi delle funzioni, le costanti e più in generale le direttive del preprocessore. (non mi dilungo per non confonderti)
Il file .cpp invece contiene il codice delle funzioni elencate nel .h .
Per convenzioni .h e .cpp dovrebbero avere lo stesso nome.
Eccoti un banale esempio:
//mia_lib.h
#DEFINE MAX 10
typedef enum{VUOTO, PIENO} stato;
void svuota(int vettore[]);
//mia_lib.cpp
#include "mia_lib.h" //le virgolette (e non <>) indicano al compilatore di cercarlo nella
//cartella in cui ci sono i file sorgenti.
void svuota(int *vettore)
{
int i;
for(i = 0; i < MAX; i++)
vettore[i] = VUOTO;
}
Se volessi mettere tutto nel .h il compilatore non segnalerebbe nessun errore e il programma funzionerenne correttamente, ma è concettualmente sbagliato!!!
Postato originariamente da cassin.simone:
Inoltre: quando apro un nuovo progetto con Microsoft Visual C++ 2008 Express Edition mi propone di fare l'intestazione precompilata...è consigliata o no?
Qua non posso aiutarti, in quanto non usando visual studio, non so di cosa tu stia parlando, ma mi pare ti abbiano già risposto
Postato originariamente da cassin.simone:
Inoltre: quando creo un nuovo progetto ho capito che la funzione main (quella principale) dovrà essere presente solo in un file. Un ultima cosa: non ho ben capito cos'è la funzione
#include <iostream.h>
qualcuno gentilmente me lo potrebbe spiegare?
Grazie
SC
#include <iostream> non è una funzione ma "qualcosa" che dice al compilatore dove andare a cercare alcune funzioni che utilizzerai (ad esempio cin e cout in questo caso).
In quanto al main, si deve essercene solamente uno che andrà ad utilizzare le altre funzioni da te costruite nei vari file .cpp.
CONSIGLIO: visto che il c e il c++ sono già abbastanza difficili di loro, non andare a complicarti la vita con inutili file aggiuntivi.
Per il momento fai tutto in un solo file.