08 09 Exam

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

UNIVERSITE IBN TOFAIL Année universitaire 2008-2009

Faculté des Sciences


Département de Mathématiques et d’Informatique
KENITRA

Examen – 2008/2009
SMI – C++

Exercice 1 :
Que produit le programme suivant :
#include <iostream>
using namespace std;

class T{
int i;
public:
T( int n = 0){
cout << "+++ Constructeur \n";
i = n;
}
T( T & v){
cout << "*** Constructeur par recopie\n";
i = v.i;
}
~T(){
cout << "--- Destructeur\n";
}
};

void f1(T t) {}
void f2(T & t) {}

int main()
{
cout << "DEBUT\n";
T u;
T v = u;
cout << "appel f1 : \n" ;f1(u);
cout << "appel f2 : \n" ;f2(u);
T * pt;
pt = new T(2);
delete pt;
cout << "FIN\n";
return 0;
}

Exercice 2 :
Complétez la classe suivante :
class T{
int x;
public:
...
};
...

1
pour que le programme suivant soit correct :
int main(){
T a = 5;
int i,j;
i = a;
j = 2 + a;
cout << a << endl;
return 0;
}
Justifier tout membre (donnée ou fonction) ajouté.

Exercice 3 :
1. On considère la classe Personne qui permet de manipuler l’identité d’une personne
dont les propriétés sont : nom, prenom et age. Ecrire les fonctions suivantes :
i. Un constructeur pour initialiser les propriétés d’une personne.
ii. Une surcharge de l’opérateur << qui permet d’afficher les propriétés d’une
personne.
iii. Un destructeur.
iv. Un constructeur par recopie.

2. On considère une classe Etudiant :


class Etudiant{
Personne p;
int cne ;
public :

}
qui permet de manipuler l’identité d’un étudiant.
Compléter cette classe en définissant un constructeur, un constructeur par recopie, un
destructeur et une surcharge de l’opérateur << qui permet d’afficher l’identité d’un
étudiant (nom, prénom, age et cne).

Vous aimerez peut-être aussi