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 30 fois
Modifier
1
Évaluations de la communautéPersonne n'a encore évalué cette question, soyez le premier !
1
Quelle affirmation sur la ligne ": rectangle(h, l), couleur(c)" est correcte ?
class Rectangle {...}
class Couleur {...}
class RectangleColore {
RectangleColore(double h, double l, Couleur c)
: rectangle(h, l), couleur(c)
{...}
private:
Rectangle rectangle;
Couleur couleur;
}
2
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
Quelle est la visibilité par défaut des membres de classe en C++?2
Quel type utiliser pour représenter une liste de données dont la longueur peut changer ?4
Écrire une classe C++ avec un constructeur qui prend deux arguments.4
Quelle affirmation concernant les constructeurs est fausse ?