Accueil>Tests>Questions>Que fait le code suivant ?
class A { public: virtual void hello() {cout << "A" << endl;} };
class B : public A { public: void hello() {cout << "B" << endl;} };
void meet_value(A a1, A a2) { a1.hello(); a2.hello(); }
void meet_reference(A& a1, A& a2) { a1.hello(); a2.hello(); }
int main() { B b; A a; meet_value(a, b); meet_reference(a, b); return 0; }
Answer : "AAAB".
Question du test C++ - Les bases
Que fait le code suivant ? class A { public: virtual void hello() {cout << "A" << endl;} }; class B : public A { public: void hello() {cout << "B" << endl;} }; void meet_value(A a1, A a2) { a1.hello(); a2.hello(); } void meet_reference(A& a1, A& a2) { a1.hello(); a2.hello(); } int main() { B b; A a; meet_value(a, b); meet_reference(a, b); return 0; } Answer : "AAAB".
Difficile
Que renvoie le code suivant ?
class A {
public:
virtual void hello() {cout << "A" << endl;}
};
class B : public A {
public:
void hello() {cout << "B" << endl;}
};
void meet_value(A a1, A a2) {
a1.hello();
a2.hello();
}
void meet_reference(A& a1, A& a2) {
a1.hello();
a2.hello();
}
int main() {
B b;
A a;
meet_value(a, b);
meet_reference(a, b);
return 0;
}
Auteur: SamuelStatut : PubliéeQuestion passée 36 fois
Modifier
1
Évaluations de la communautéPersonne n'a encore évalué cette question, soyez le premier !
3
Comment distinguer un paramètre d'une méthode d'un attribut de la classe en C++2
L'opérateur + a été défini pour les objets Complexe grâce à une surcharge interne.1
Écrire une fonction C++ qui incrémente son paramètre d'entrée et affiche le résultat.2
Quel type utiliser pour représenter une liste de données dont la longueur peut changer ?1
Quelle est la visibilité par défaut des membres de classe en C++?5
Quelle affirmation concernant les constructeurs est fausse ?4
Écrire une classe C++ avec un constructeur qui prend deux arguments.