#include struct some_object : sc_object { some_object( const char * name ) : sc_object( name ) {} }; int sc_main( int, char*[] ) { { some_object o("o"), p("p"), q("q"); some_object r( o ); // copy sc_object q = p; // assign std::cout << o.name() << " " << r.name() << std::endl << p.name() << " " << q.name() << std::endl; std::cout << "Press to terminate..." << std::endl; std::cin.get(); } // kabooom ;-) return 0; }