Задать вопрос
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(){  }
  • Вопрос задан
  • 131 просмотр
Подписаться 2 Простой Комментировать
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Почему можно не указывать virtual в файле реализации?

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

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

Похожие вопросы