fork download
  1. #include <iostream>
  2. using namespace std;
  3. class Car {
  4. public :
  5. Car(): carnum(0) {
  6. cout << "default constructor " << carnum << endl;
  7. }
  8.  
  9. Car (int n) : carnum (n) {
  10. cout << "Argument constructor " << carnum << endl;
  11. }
  12.  
  13. Car& operator = (const Car& car) {
  14.  
  15. carnum = car.carnum;
  16. cout << "Equal operator " << carnum << endl;
  17. return *this;
  18. }
  19.  
  20. Car (const Car& car) {
  21. carnum = car.carnum;
  22. cout << "Copy constructor " << carnum << endl;
  23. }
  24.  
  25. Car buyCar() {
  26. return *this;
  27. }
  28.  
  29. int carnum;
  30. };
  31. int main() {
  32. // your code goes here
  33. Car aCar, theCar(2);
  34. cout << endl;
  35. aCar = theCar.buyCar();
  36. cout << endl;
  37. Car bCar(aCar.buyCar());
  38. return 0;
  39. }
Success #stdin #stdout 0s 2740KB
stdin
Standard input is empty
stdout
default constructor 0
Argument constructor 2

Copy constructor 2
Equal operator 2

Copy constructor 2