Что означает virtual при объявлении функции внутри класса?
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 07.12.16 08:03
Оценка: 9 (2) -4 :))) :))) :)
Что означает virtual при объявлении функции внутри класса?
Как я понимаю, при помощи слова virtual обеспечивается полиморфизм--способность программы во время своего исполнения определять, как какому классу относится функция с определённым именем.

Но хотелось бы узнать поподробнее об этом ключевом слове.

Чем отличается конструкция

class MyClass1
{
  // данные класса MyClass1;
  MyClass1(); // конструктор
  ~MyClass1(); // деструктор
  int  MyFunc1(int a, inb b);
  // прочие методы класса MyCLass1;
};

class MyClass2 : public MyClass1
{
  // данные класса MyCLass2;
  MyClass2(); // конструктор
  ~MyClass2(); // деструктор;
  int  MyFunc1(int a, int b);
  // прочие методы класса MyClass2;
};


от конструкции

class MyClass1
{
  // данные класса MyClass1;
  MyClass1(); // конструктор
  ~MyClass1(); // деструктор
  virtual int  MyFunc1(int a, inb b);
  // прочие методы класса MyCLass1;
};

class MyClass2 : public MyClass1
{
  // данные класса MyCLass2;
  MyClass2(); // конструктор
  ~MyClass2(); // деструктор;
  virtual int  MyFunc1(int a, int b);
  // прочие методы класса MyClass2;
};


?
1613 г. = 2024 г.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.