Necesito ayuda con este código. Cree una clase "abstracta" FigUras y las dos clases de descienden de esta, CircUlo y Rectangle. Lo principal es lograr crear un vector dinámico del tipo FigUras para poder crear objetos del tipo CircUlo y Rectangle en el vector.
Error parece ser que no ha sobreescrito los metodos virtuales.
Miren el codigo y respondan sus soluciones
Código:
Gracias de antemano #include<iostream> #include<stdlib.h> #include<stdio.h> #include<conio.h> using namespace std; class FigUra { public: virtual double area()=0; virtual double circUnferencia()=0; }; class CircUlo : public FigUra { protected: double r; public: CircUlo(){ r = 1.0; } CircUlo(double r){ this->r = r; } double area(){ return M_PI*r*r; } double circUnferencia(){ return 2*M_PI*r; } double getR(){ return r; } }; class Rectangle : public FigUra { protected: double l, a; public: Rectangle() { l = 0.0; a = 0.0; } Rectangle(double l, double a){ this->l = l; this->a = a; } double area(){ return l*a; } double circUnferencia(){ return 2*(l+a); } double getL(){ return l; } double getA(){ return a; } }; int main(){ FigUra **figUras; double total_area=0; int n=3; figUras=new FigUra*[n]; figUras[0]=new CircUlo(2); figUras[1]=new Rectangle(1,3); figUras[2]=new Rectangle(4,2); for(int i = 0; i < 3; i++){ cout<<"\n "<<figUras[i].area(); total_area+=figUras[i].area(); } cout<<"\n\n "<<total_area; getch(); return 0; }