Exercices sur la programmation en C++ - 2 , Exercices de Application informatique
Christophe
Christophe3 March 2014

Exercices sur la programmation en C++ - 2 , Exercices de Application informatique

PDF (365.8 KB)
2 pages
164Numéro de visites
Description
Exercices d’informatique sur la programmation en C++ - 2. Les principaux thèmes abordés sont les suivants: exercices.
20points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document

Année 2011-2012 1ère session

Programmation C++ PG 212

Julien Allali Filière : Informatique Semestre : 7 Date de l’examen : 09 janvier 2012 Durée de l’examen : 2h Documents autorisés  Sans document  Calculatrice autorisée  Non autorisée 

Exercice 1 :

La classe Produit sert à représenter un produit dans un système de gestion des stocks. Pour

simplifier, nous dirons qu’un produit se compose d’un intitulé et d’un identifiant. L’intitulé doit être

implémenté par une chaîne de caractères en utilisant un tableau de char en interne alloué

dynamiquement : le recourt à une classe extérieure (vector, string, …) est interdit. L’identifiant est un

entier qui sera spécifique à chaque instance et attribué par ordre croissant (Première : 1, deuxième :

2, …).

1) Donner le code de la classe Produit ne comportant qu’une unique méthode : un constructeur

prenant en paramètres l’intitulé sous forme d’une chaîne de caractères et d’un entier

(longueur de la chaîne).

2) Donner la liste des méthodes de classe et d’instance devant être nécessairement

implémentées afin de garantir une bonne gestion de la mémoire. Pour chaque méthode,

donner :

 Un exemple d’utilisation déclenchant son appel

 Une explication des conséquences de son absence

 Le code

Exercice 2 :

Soit le code :

class X {} ;

class M {

public :

void meth(const X&) {}

} ;

class Y {} ;

/2 /8

class F : public M {

public :

void meth(const Y&) {}

};

int main() {

F inst;

inst.meth(X());

}

Lors de la compilation, on obtient :

E.cpp : In function ‘int maint()’:

E.cpp : 17: error: no matching function for call to ‘F::meth(X)’

E.cpp : 12: note: candidates are: void F::meth(const Y&)

1) En basant votre explication sur l’algorithme de résolution d’appel de méthodes C++, donner

la raison de cette erreur et expliquer pourquoi l’on aurait pu s’attendre à un résultat différent. (2 points)

2) Donner le code de deux solutions permettant de résoudre le problème.

Exercice 3 :

1) Expliquer ce qu’est la programmation générique et la méta-programmation.

2) Donner le code permettant de calculer la somme des entiers de 0 à n par méta- programmation.

3) Donner les caractéristiques des interfaces en C++

4) Qu’est-ce qui caractérise une classe abstraite en C++ ? Précisez ce qui la distingue une interface.

5) Donner le code de l’interface Forme comportant les méthodes perimetre et surface C++.

/2 /2

/2 /2

/1

/1

/1

commentaires (0)
Aucun commentaire n'a été pas fait
Écrire ton premier commentaire
Ceci c'est un aperçu avant impression
Chercher dans l'extrait du document
Docsity n'est pas optimisée pour le navigateur que vous utilisez. Passez à Google Chrome, Firefox, Internet Explorer ou Safari 9+! Téléchargez Google Chrome