Magna Concursos
2087853 Ano: 2003
Disciplina: TI - Desenvolvimento de Sistemas
Banca: CESPE / CEBRASPE
Orgão: IBAMA

Conforme hierarquia de classes da figura acima, foi definido um método void f() nas quatro classes — A, B, C e D —, de tal maneira que a função f( ) de cada classe chame somente uma vez a função f( ) de cada um de seus antecessores na ordem hierárquica mostrada, de baixo para cima. O código que implementa essas classes está descrito a seguir.

class A {
protected:
void f_( ) {...}
public:
virtual void f() {f_();}
};

class B: public A {
protected:
void f_( ) {…}
public:
virtual void f() {A::f_(); f_();}
};

class C:public A {
protected:
void f_( ) {…}
public:
virtual void f( ) {A::f_( ); f_( );}
};

class D: public B, public C {
protected:
void f_( ) {…}
public:
void f( ) {B::f_( ); C::f_( ); f_( );}
};

Considerando as informações do texto ao lado, julgue o item seguinte.

A função “f( )” na classe D atende à especificação “que a função f( ) de cada classe chame somente uma vez a função f( ) de cada um de seus antecessores na ordem hierárquica mostrada” e está sintaticamente correta.

 

Provas

Questão presente nas seguintes provas