KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Conside the following sample code below: #include <iostream> using namespace std; class base { public: base() { cout << "ctor in base class\n"; } }; class derived1 : public base { public: derived1() { cout <<"ctor in derived1 class\n"; } }; class derived2 : public derived1 { public: derived2() : base() { cout << "ctor in derived2 class\n"; } }; int main() { derived2 d2obj; return 0; } This gives the error: error: type `base' is not a direct base of `derived2' Why is this error occurring? If i make the base class virtual, the error is no longer there. What is the reason for this?
Tags (comma-separated)
Save Edits
Cancel