Error Message:Code:#include <iostream> using namespace std; class X { public: X(){} virtual void f1() { cout << "In Base" << endl; } void f2() { cout << "F2 in Base" << endl; } }; class Y : public X { public: Y(){} // void f1(); If I uncomment this.. it works.. but why does it demand this declaration. }; void Y::f1() { cout << "F1 In Derived" << endl; // Since f1() is a virtual function in base, // why does it demand a declaration in derived too???? } int main() { Y ob; ob.f1(); return 0; }
"test.C", line 29: Error: f1() is not a member of Y.
1 Error(s) detected.