RTTI
- Q1: Répondre aux différentes questions incluses dans le programme suivant: (1169demo02exo1.cpp).
Essayez de trouver la réponse sans vous aider de votre compilateur!
- Q2 Que va afficher en sortie le programme suivant: (1169demo02exo2.cpp).
Essayez de trouver la réponse sans vous aider de votre compilateur!
Namespace
- Q3: Examiner le contenu du fichier (1169demo02exo3.cpp) puis compiler le.
- a. Vous constaterez après la phase de compilation que le compilateur g++ a signalé une série de "warnings" ou "avertissements", corriger les puis exécuter le programme.
- b. Vous allez remarquer des erreurs à l'exécution. Ces erreurs nont pas été détectées par le compilateur car ce sont des erreurs algorithmiques non liées au langage de programmation. Chercher ces erreurs et corriger les.
- Q4: Indiquez si les fragments de code suivants génèrent au moins une erreur à la compilation.
Si c'est le cas expliquez la, dans le cas contraire indiquez ce qui sera affiché en sortie.
- a.
namespace NS1 {
class T {};
void f(T x) {cout << "test1\n";}
}
using namespace NS1;
NS1::T param;
int main() {
f(param);
return 0;
}
- b.
namespace NS2 {
class T {};
void f(T x) {cout << "test1\n";}
}
using namespace NS2;
void f(NS2::T x){cout << "test2\n";}
int main() {
NS2::T param;
f(param);
return 0;
}
- Q5: Soit le fragment de code suivant:
namespace Noir {
int j;
void print(int);
char ch;
}
namespace Blanc {
int j;
void print(int);
double vision;
}
int j;
void UneFonction() {
using namespace Noir;
using namespace Blanc;
j = 0; // -1-
print(5); // -2-
ch = 'a'; // -3-
vision = 7.65; // -4-
int j = 10; // -5-
::j = 5; // -6-
Blanc::j = 5; // -7-
Noir::print(j); // -8-
}
Tout en justifiant votre réponse, dites si les appels -1- à -8- sont corrects ou pas ? (Chaque question est indépendante.)
|
[top]
|