Resultados da pesquisa a pedido "virtual-functions"

4 a resposta

Tabela virtual / tabela de expedição

Pelo que sei do CPP, cada classe tem sua própria tabel Contudoist [http://en.wikipedia.org/wiki/Virtual_method_table] link da wikipedia menciona: tabela de despacho de um objeto conterá os endereços dos métodos vinculados dinamicamente ao ...

4 a resposta

Qual é a vantagem dessa chamada de função indireta?

Encontrei o seguinte código em uma biblioteca: class Bar { public: bool foo(int i) { return foo_(i); } private: virtual bool foo_(int i) = 0; };Agora estou me perguntando: por que você usaria esse indireto? Poderia haver alguma razão pela qual ...

6 a resposta

operador de atribuição virtual C ++

operador @Assignment em C ++ pode ser virtualizado. Por que é necessário? Também podemos virtualizar outros operadores?

7 a resposta

Posso chamar a função virtual de uma classe base se a estiver substituind

Diz que tenho aulasFoo eBar configure assim: class Foo { public: int x; virtual void printStuff() { std::cout << x << std::endl; } }; class Bar : public Foo { public: int y; void printStuff() { // I would like to call Foo.printStuff() here... ...

3 a resposta

C ++ Ponteiro para a função virtual

Se você tiver uma estrutura como esta struct A { void func(); }; e uma referência como esta A& a; você pode obter um ponteiro para o seufunc método como este: someMethod(&A::func);Agora, e se esse método for virtual e você não souber o que é ...

4 a resposta

Covariância do tipo de retorno com ponteiros inteligentes

Em C ++, podemos fazer isso: struct Base { virtual Base* Clone() const { ... } virtual ~Base(){} }; struct Derived : Base { virtual Derived* Clone() const {...} //overrides Base::Clone }; No entanto, o seguinte não fará o mesmo truque: struct ...

6 a resposta

substituindo o tipo de retorno da função virtual difere e não é covariante

Ah, SO voltou na hora certa. Estou recebendo um erro estranho: 'B::blah': overriding virtual function return type differs and is not covariant from 'A::blah'Aqui está o código que está causando o problema: class A { public: class Inner { }; ...

20 a resposta

Por que não temos um construtor virtual em C ++?

Por que o C ++ não possui um construtor virtua

12 a resposta

s funções virtuais em linha são realmente sem sentid

Eu recebi esta pergunta quando recebi um comentário de revisão de código dizendo que as funções virtuais não precisam estar em linh Eu pensei que funções virtuais em linha poderiam ser úteis em cenários em que funções são chamadas diretamente ...

9 a resposta

or que o C # implementa métodos como não virtuais por padrã

Diferente do Java, por que o C # trata os métodos como funções não virtuais por padrão? É mais provável que seja um problema de desempenho do que outros possíveis resultados? Lembro-me de ler um parágrafo de Anders Hejlsberg sobre várias ...