Langage C++, aspects avancés
A partir des définitions suivantes : template<class T> T Max(T a, T b) { return a>b?a:b; } int i; int j; char c; char d; char* str1; char* str2; Quelle instruction provoque une erreur de compilation ?
int Ri = Max(i,j);
int Rc = Max(c,d);
int Rx = Max(i,c);
char* Rstr = Max(str1, str2);
A partir des définitions suivantes : class Cercle : public Forme { /* ... */ }; vector<Cercle*> v1, v2; vector<Forme*> v3, v4; Quelles propositions provoquent une erreur de compilation ?
v1 = v2 ;
v3 = v4 ;
v4 = v2 ;
v2 = v4 ;
Dans l'exemple suivant : vector<int> v1; vector<int>::iterator i = v1.begin(); while (i != v1.end()) { cout << *i; i.next(); } Quelle ligne provoque une erreur
vector<int>::iterator i = v1.begin();
while (i != v1.end()) {
cout << *i;
i.next();
A partir du code suivant : void main() { int tab[] = {0, 1, 4, 2, 3, 2, 7, 3, 9, 3}; multiset<int> ens; ens.insert(&tab[0], &tab[10]); multiset<int>::iterator i; i = ens.find(3); while (i != ens.upper_bound(3)) { cout << *i << " "; i++; } } Quel est le résultat de l'exécution
3 3 3
0 1 4
0 1 2 3 2 3 3
3 2 7 3 9 3