#include using namespace std; class A { public: A() { cout << "default constructor" << endl; }; A(A const &) { cout << "copy constructor" << endl; }; A& operator=(A const &) { cout << "copy assignment operator" << endl; return *this; }; }; int main() { cout << endl; cout << "---" << endl; // default constructor cout << endl; cout << "---" << endl; // copy constructor cout << endl; cout << "---" << endl; // copy assignment operator return 0; }