Qubc
@Qubc
Ненавижу полисемию.

Почему можно не указывать virtual в файле реализации?

A.h :
#pragma once 
class A{
public:
    virtual void function1 ();
    virtual ~A ();
};


A.cpp :
#include "A.h"
void A::function1 (){ } // virtual void A::function1 (){ }
A::~A(){  } // virtual  A::~A(){  }
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Почему можно не указывать virtual в файле реализации?

Не то чтобы "можно не указывать". Нужно не указывать. Потому что так говорит стандарт.
И потому что виртуальность функции -- это не свойство функции, а свойство класса которому она принадлежит. Код функции не зависит от того, виртуальная она или нет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы