Как обрабатывать удаленные атрибуты при редактировании модели? ASP.Net MVC3

Ваше предположение, что чистая виртуальная функция не может быть вызвано, абсолютно неверна. Когда функция объявляется чистой виртуальной, это просто означает, что эта функция не может быть вызвана динамически посредством виртуального механизма отправки. Тем не менее, эту же самую функцию можно легко называть статически , не виртуально , непосредственно (без виртуальной отправки).

На языке C ++ не виртуальный вызов виртуальной функции выполняется, когда в вызове используется квалифицированное имя функции, т. е. когда имя функции, указанное в вызове, имеет форму <class name>::<function name>.

Например,

struct S 
{
  virtual void foo() = 0;
};

void S::foo() 
{
  // body for pure virtual function `S::foo`
}

struct D : S 
{
  void foo() 
  {
    S::foo();       
    // Non-virtual call to `S::foo` from derived class

    this->S::foo(); 
    // Alternative syntax to perform the same non-virtual call 
    // to `S::foo` from derived class
  }
};

int main() 
{
  D d;

  d.S::foo(); 
  // Another non-virtual call to `S::foo`
}
0
задан Shreekumar S 2 September 2012 в 15:45
поделиться