Here's my class structure:
class Parent {
    public:
        void foo(); // foo() defined in superclass
};
class Child : public Parent {
    private:
        int bar;
    public:
        Child(int);
        int getBar();
};
Child::Child(int b) {
    bar = b;
}
void Child::foo() { // foo() implemented in subclass
    std::cout << getBar() << std::endl;
}
g++ gives me an error that foo() is not within Child scope, and changing it to void Parent::foo(), I'm left with an error that getBar() is not within Parent scope.
I'm aware of virtual functions but I do not want to define foo() in Child, only implement it.
How do I gain method visibility within Child of the Parent method foo()?
My thought process is the line class Child : public Parent means Child inherits member methods of Parent, thus Child should be able to see foo().
 
     
    