Vous êtes sur la page 1sur 3

Université Mohammed Khider de Biskra 2022/2023

Faculté des Sciences et de la Technologie 1er Master Systèmes Embarqués


Département Génie électrique, filière électronique Module : POO C++

Corrigé type Nom : ………………………………………

Exercice 1 : (12 points)


Choisir la ou les bonnes réponses.
1) Quel boucle est le mieux utilisé lorsque le nombre d’itérations est connu à l’avance?
□ for □ while □ do while
□ tous les boucles exigent que le nombre d’itérations soient connues.
2) Complétez le tableau suivant définissant l’accès aux membres d’une classe :
Droit d’accès private public protected
Classe fille x
Classe indépendante x
3) Je veux déclarer un tableau de 10 nombres entiers. Quelle est la bonne syntaxe ?
□ int array(10) tab. □ int tab(10); □ int[10] tab; □ int tab[10];
4) Je veux déclarer et initialiser un tableau contenant le texte 'Bonjour !'. Quelle est la bonne syntaxe ?
□ char tab[9] = {"bonjour !"}; □ char tab[] = {bonjour !};
□ char tab[] = "bonjour !"; □ char tab[9] = {bonjour !};

5) Quelle est la sortie du code suivant?
#include<iostream>
using namespace std;
class MaClasse
{ public:
MaClasse() { cout << "Constructeur est appelé \n"; }
};
int main()
{ cout << " Avant \n";
MaClasse maclasse();
cout << " Aprés \n";
return 0; }
□ Constructeur est appelé □ Avant
Avant Constructeur est appelé
Aprés Aprés
□ Aucune de ces réponses n’est vraie. □ Avant
Aprés
6) Soit le programme (incomplet) suivant :

#include <iostream>
using namespace std;
int main()
{
int tab[] = {2,4,6,8,10,12,13,16};
* …………………………………………………………………… //Je veux ici remplacer la valeur 13 par 14
return 0;
}
7) Quelle instruction faut-il écrire en ligne * pour remplacer la valeur 13 par la valeur 14 ?

1/3
□ *(tab+6)=14 ; □ tab[7] = 14; □ *(tab+5)=14 ; □ tab[6] = 14; □ tab[13] = 14;

8) Quel mot-clé utilisez-vous si vous ne souhaitez pas obtenir une valeur de retour?
□ volatile □ void □ const □ static
9) Lequel des énoncés est vrai, à-propos de l’instruction suivant?
const int b = 100;
□ Déclare une variable b avec 100 comme valeur initiale.
□ Déclare un entier b avec 100 comme valeur initiale.
□ Déclare une constante b dont la valeur sera 100.
□ Construit une variable de type entier avec l’identifiant b et 100 comme valeur.
10) Quels sont les différents concepts de la POO en C++?
□ polymophisme ; □ objet ; □ Classe ;
□ encapsulation ; □ abstraction ; □ héritage ;
11) Quelle est la sortie du code C++ suivant?
int a = 3;
int b = 7;
int res = ++a + ++b;
cout << a << " - " << b << " - " << res;
□ 4–7–1 □ 4 – 8 – 12 □ 3 – 8 – 11
12) Que représente le symbole tilde « ~ » en enc C++
□ Négation □ Constructeur □ Destructeur □ Instance

Exercice 2 : (8 points)
#include <iostream>
#include <string>
using namespace std;
class Client
{
protected:
string nom;
string prenom;
string tel;
public:
Client(string N, string P, string T)
{ nom = N;
prenom = P;
tel = T;
}
Client(string N, string P)
{
nom = N;
prenom = P;
}
void Afficher()
{
cout<<"NOM: " << nom <<endl;
cout<<"Prénom: " << prenom<<endl;
2/3
if(tel!="")
cout<<"Tél : " <<tel<<endl;
}
};

class Compte : public Client


{
private:
int numero;
double solde;
public :
Compte ( string N, string P,int no, double so): Client(N, P)
{ numero=no;
solde=so;
}
void Crediter(double somme)
{
solde += somme;
cout<<"Opération bien effectuée"<<endl;
}
void Debiter(double somme)
{
if (solde >= somme)
{
solde -= somme;
cout<<"Opération bien effectuée"<<endl;
}
else
cout<<"Solde insuffisant"<<endl;
}
void Afficher()
{
Client::Afficher();
cout<<"Numéro de Compte: " << numero<<endl;
cout<<"Solde de compte: " << solde<<endl;
}
};
int main ()
{
Client C("etudiant","master","06657984");
C.Afficher();
Compte Co("etudiant","master",3113212,70);
Co.Crediter(6);
Co.Afficher();
Co.Debiter(16);
Co.Afficher();
}

3/3

Vous aimerez peut-être aussi