[ SuperC @ 26.01.2007. 00:34 ] @
| Code:
#include <iostream>
using namespace std;
class Car {
int id;
public:
Car () {cout << "1";}
Car (const Car& cr) {
cout << "2";
}
Car& operator= (const Car& rhs) {
cout << "3";
return *this;
};
int main () {
Car a, b(a);
Car c, d=c;
a=c;
}
Moze li mi neko objasniti zasto se ovdje dvaput u rjesenju pojavljuje 12
obzirom da je rjesenje 12123 |
[ karas @ 26.01.2007. 08:15 ] @
Car a poziva default konstruktor, b(a) poziva copy konstruktor, Car c poziva default konstruktor, d=c poziva copy konstruktor, a=c poziva operator=.
Drugim rechima, druga i chetvrta konstrukcija su ekvivalentne, a chetvrta i peta nisu (ako se stavi = prilikom deklaracije objekta onda se poziva copy konstruktor a ne operator=).
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.