Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class A
- {
- public:
- A() = default;
- virtual ~A() = default;
- virtual void Foo (float x, float y) = 0;
- void Foo()
- {
- Foo(0, 0);
- };
- void Foo(Point pos)
- {
- Foo(pos.x, pos.y);
- };
- int Bar()
- {
- return 42;
- };
- };
- class B : public A
- {
- public:
- B() = default;
- virtual ~B() = default;
- void Foo (float x, float y) override
- {
- cout << "Call B::Foo(" << x << "," << y <<")" << endl;
- };
- };
- int main()
- {
- B obj;
- obj.Foo(10, 10); //виртуальный метод работает нормально
- obj.Bar(); //и просто унаследованный Bar работает нормально
- obj.Foo(); //компилятор говорит, что такого метода у класса B нет
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement