#include <iostream>
using namespace std;

struct Demo {
	Demo() = delete;
	Demo(int _x) : x(_x) { cout << "one-arg constructor" << endl; }
	Demo(const Demo& other) : Demo(other.x) {cout << "copy constructor" << endl; }
    int x;
};

int main() {
	Demo a(5);
	Demo b(a);
	return 0;
}