Che cosa significa `= 0 'media nella dichiarazione di una funzione virtuale pura? [duplicare]

StackOverflow https://stackoverflow.com/questions/3645937

  •  01-10-2019
  •  | 
  •  

Domanda

  

possibili duplicati:
   C ++ virtuale / virtuale pura spiegato
   Qual è la differenza tra istanze funzione virtuale in C ++ < br>    Perché funzione virtuale pura viene inizializzato da 0?

Questo è un metodo in qualche dichiarazione di classe che qualcuno mi ha dato. E io non so che cosa' .. = 0' mezzi. Di cosa si tratta?

virtual void Print() const = 0;
È stato utile?

Soluzione

Il = 0 rende la funzione pura virtuale , rendendo l'una classe classe astratta .

Una classe astratta è fondamentalmente una sorta di interfaccia, che derivano le classi devono implementare al fine di essere istanziabile. Tuttavia, c'è molto di più di questo, ed è una delle basi di programmazione orientata agli oggetti in C ++. Se non conoscete questi, è necessario tornare al libro di testo e leggere. Non c'è modo è possibile avanzare senza comprenderli.

Detto questo, vedere questa domanda relativa per alcune spiegazioni di ciò che funzioni virtuali e virtuali puri sono. E come sempre, la C ++ FAQ è una risorsa eccellente per tali questioni.

Altri suggerimenti

Ciò significa che la funzione virtuale è puro , il che significa che non si può chiamare come tale: la funzione non ha alcun codice per essa, da qui il = 0. Solo derivando la classe e ridefinendo la funzione si può chiamare. La classe con le funzioni virtuali pure non può essere un'istanza in modo essi sono chiamati classi astratte, interfacce in alcune lingue.

In sostanza, significa che la funzione ha alcun codice. Ciò significa che non è possibile utilizzare le istanze di questa classe. Piuttosto, può essere solo una classe base.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top