I am trying to get my head around some inheritance problem in C++:
Consider a base class Foo() with a method method() and its derived class Bar. Now I override the method in Bar. 
class Foo{
public:
    double method();
}
class Bar public: Foo
{
public:
    double method()
}
And a function like this:
Foo get_bar(){
    Bar bar()
    return bar
}
Calling the function get_bar() I'd like to be able to call Bar::method()
Foo foo = get_bar();
foo.method() (-> which should be Bar::method)
Is this possible? And if, how? I think I am making a fundamental mistake here which I don't see. Thanks!
 
     
    