KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm rewriting an application using c++11 smart pointers. I have a base class: class A {}; And a derived class: class B : public A { public: int b; }; I have another class containing a vector with either A or B objects: class C { public: vector<shared_ptr<A>> v; }; I have no problem constructing C with A (base class) objects but how can I fill it with B (derived class) objects? I'm trying this: for(int i = 0; i < 10; i++) { v.push_back(make_shared<B>()); v.back()->b = 1; }; And the compiler returns: error: ‘class A’ has no member named ‘b’
Tags (comma-separated)
Save Edits
Cancel