	#include <iostream>
	
	struct S {
	    int t;
	};
	
	class C {
	private:
	    S s;
	public:
	    C() {s.t = 7;}
	    ~C(){std::cout << "bye C" << std::endl;}
	};
	
	class D {
	private:
	    S s;
	public:
	    D(int t) {s.t = t;}
	    ~D() {std::cout << "bye D(" << s.t << ")" << std::endl;}
	};
	
	int main() {
	    C c0{};
	    C* c1 = new C();
	    D d1(42);
	    std::cout << __LINE__ << std::endl;
   	    delete c1;
   	    std::cout << __LINE__ << std::endl;
	}
