Disciplina: TI - Desenvolvimento de Sistemas
Banca: CESPE / CEBRASPE
Orgão: CENSIPAM
Considere o seguinte código em C++.
class ElementoGrafico {
protected:
TCanvas *canvas;
TColor cor;
void desenharRetas (float[], float[], int);
public:
void setCanvas(TCanvas*);
void setCor(TColor);
virtual void desenhar() = 0;
};
class Reta:public ElementoGrafico {
private:
float x0, y0, x1, y1;
public:
void setCoordenadas(float, float, float, float);
void desenhar();
};
void Reta::setCoordenadas(float x0, float y0, float x1, float y1){
this->x0 = x0;
this->y0 = y0;
this->x1 = x1;
this->y1 = y1;
}
void Reta::desenhar(){
float x[2], y[2];
x[0] = x0;
y[0] = y0;
x[1] = x1;
y[1] = y1;
desenharRetas(x, y, 1);
}
Acerca desse código, julgue o item a seguir.
É correto afirmar que há um erro no código, pois o método desenharRetas não pode ser invocado a partir de código na classe Reta, que, no método setCoordenadas, a palavra this elimina a ambigüidade decorrente dos parâmetros terem os mesmos nomes dos atributos da classe e que, na classe Reta, nãohá métodos inline.