Korzystając z Symfonii C++, napisałem, a w sumie przepisałem kod programu w którego skład wchodzą 3 pliki. Niby ten program miał ukazać jak działa słowo extern.
Niestety nie można tego skompilować.
Pierwszy plik afryka.cpp:
#include<iostream>
#include "nagl.h"
using namespace std;
int ile_murzynow=9;
main(){
cout<<"Poczatek programu\n";
funkcja_francuska();
funkcja_niemiecka();
cout<<"Koniec programu \n";
}
void funkcja_egipska(){
cout<<"Jestem w Kairze !-------- \n";
cout<<"Na swiecie jest "<<ile_murzynow
<<" murzynow, oraz "<<ile_europejczykow
<<" europejczykow \n";
}
void funkcja_kenijska(){
cout<<"Jestem w Nairobi !-------- \n";
cout<<"Na swiecie jest "<<ile_murzynow
<<" murzynow, oraz "<<ile_europejczykow
<<" europejczykow \n";
}
Drugi plik europa.cpp
#include<iostream>
#include "nagl.h"
using namespace std;
int ile_europejczykow=8;
void funkcja_francuska(){
cout<<"Jestem w Paryzu !-------- \n";
cout<<"Na swiecie jest "<<ile_murzynow
<<" murzynow, oraz "<<ile_europejczykow
<<" europejczykow \n";
funkcja_egipska();
}
void funkcja_niemiecka(void){
cout<<"Jestem w Berlinie !-------- \n";
cout<<"Na swiecie jest "<<ile_murzynow
<<" murzynow, oraz "<<ile_europejczykow
<<" europejczykow \n";
funkcja_kenijska();
}
A plik nagl.h:
extern int ile_murzynow;
extern int ile_europejczykow;
void funkcja_egipska();
void funkcja_kenijska();
void funkcja_francuska();
void funkcja_niemiecka();
O co tu chodzi?
Jak dla mnie to jest pomieszane.
Nie wiem jak to autorowi działało.