avoid-hiding-inherited-names/prog0.cc - A class B inherits two virtual, overloaded functions from A - straightforward - no problems. | Lecture 5 - slide 9 : 40 Program 1 |
// For exercise. // Class B inherits both overloads of the virtual functions vf. #include <iostream> #include <string> using namespace std; class A { private: double a; public: virtual void vf(double d){ // Virtual vf(double) cout << "virtual vf(double) in A: " << d << endl; } virtual void vf(){ // Virtual vf() cout << "virtual vf() in A" << endl; } }; class B : public A { private: double b; public: // B member functions here // B inherites vf(double) and vf() }; int main(){ B *b = new B(); b->vf(); // OK. A::vf() is called b->vf(5.0); // OK. A::vf(double) is called }