Задать вопрос
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(){  }
  • Вопрос задан
  • 138 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Почему можно не указывать virtual в файле реализации?

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

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

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