fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class A
  5. {
  6. public:
  7. A() {
  8. _n = 100;
  9. cout << "A() " << _n << endl;
  10. }
  11. explicit A(int n) {
  12. _n = n;
  13. cout << "A(n) " << _n << endl;
  14. }
  15. explicit A( std::initializer_list<int> l ) {
  16. _n = * l.begin();
  17. cout << "A({}) " << _n << endl;
  18. }
  19. A(const A & rhs) {
  20. _n = rhs._n;
  21. cout << "A(A&) " << _n << endl;
  22. }
  23.  
  24. private:
  25. int _n;
  26. };
  27.  
  28. int main() {
  29. A a1;
  30. A a2 = a1;
  31. A a3( 11 );
  32. A a4{ int{ 22 } };
  33. A a5( { 22, 23 } );
  34. A a6{ a3 };
  35. A a7( a3 );
  36. A a8 = a3;
  37. // your code goes here
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
A() 100
A(A&) 100
A(n) 11
A({}) 22
A({}) 22
A(A&) 11
A(A&) 11
A(A&) 11