import
using
namespace com::tut::cpp { using com::tut::cpp::Derive; //REM: I tried applying: using-declarations or using-directives class Base { public: Base(); virtual ~Base(); Derive& funcBase(); //REM: it return a instantiated Derive class }; class Derive : public Base { public: Derive(); ~Derive() override; }; } //REM: Definition com::tut::cpp::Base::Base() {} com::tut::cpp::Base::~Base() {} com::tut::cpp::Derive& com::tut::cpp::Base::funcBase() { static com::tut::cpp::Derive d; return d; } com::tut::cpp::Derive::Derive() {} com::tut::cpp::Derive::~Derive() {}
//Base.h #include "Derive.h" //using com::tut::cpp::Derive; //REM: is it possible to do this outside? namespace com::tut::cpp { using com::tut::cpp::Derive; class Base { public: Base(); virtual ~Base(); Derive& funcBase(); }; }
//Derive.h #include "Base.h" namespace com::tut::cpp { class Derive : public Base { public: Derive(); ~Derive() override; }; }
//Body.cpp #include "Base.h" #include "Derive.h" //REM: Definition com::tut::cpp::Base::Base() {} com::tut::cpp::Base::~Base() {} com::tut::cpp::Derive& com::tut::cpp::Base::funcBase() { static com::tut::cpp::Derive d; return d; } com::tut::cpp::Derive::Derive() {} com::tut::cpp::Derive::~Derive() {}
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)