Il compilatore di Netbeans mostra degli errori, vorrei creare una classe base Quadrilatero, e la classe derivata Quadrato. Non so bene come fare il distruttore...comunque questo sono le classi (riporto la riga degli errori con commenti)
Classe base .hpp:
La sua implementazione .cpp:codice:#ifndef QUADRILATERO_HPP #define QUADRILATERO_HPP //namespace Classi_Derivate{ class Quadrilatero{ public: //Quadrilatero(); Quadrilatero(int l1, int l2, int l3, int l3, int l4); //~Quadrilatero(); public: void setArea(); int getArea(); void setPerimetro(); int getPerimetro(); }; #endif /* QUADRILATERO_HPP */
La derivata .hpp:codice:#include <stdio.h> #include <iostream> #include "Quadrilatero.hpp" using namespace std; // namespace Classi_Derivate{ int l1; //primo lato; int l2; int l3; int l4; int area; int perimetro; Quadrilatero(int primo, int secondo, int terzo, int quarto){ l1=primo; l2=secondo; l3=terzo; l4=quarto; setArea(); Quadrato:: setPerimetro(); //perchč se non metto Quadrato:: dą errore? } /* ~Quadrilatero(){ }*/ void Quadrilatero:: setArea(){} int Quadrilatero:: getArea(){return area;} void Quadrilatero:: setPerimetro(){perimetro=l1+l2+l3+l4;} int Quadrilatero:: getPerimetro(){return perimetro;}
La sua implementazione .cpp:codice:#ifndef QUADRATO_HPP #define QUADRATO_HPP #include <Quadrilatero.hpp> /*errore fatal error: Quadrilatero.hpp: No such file or directory*/ class Quadrato : public Quadrilatero{ public: //Quadrilatero(); Quadrato(int lato); // ~Quadrato(); public: void setArea(); int getArea(); void setPerimetro(); int getPerimetro(); }; #endif /* QUADRATO_HPP */
E main finale:codice:#include <stdio.h> #include <iostream> #include "Quadrato.hpp" //errore "In file included from" using namespace std; int l; int area; int perimetro; Quadrato:: Quadrato(int lato){ l=lato; setArea(); Quadrato:: setPerimetro(); } /* ~Quadrilatero(){ }*/ void setArea(){ area=l^2; } int Quadrato:: getArea(){return area;} void Quadrato:: setPerimetro(){perimetro=l*4;} int Quadrato:: getPerimetro(){return perimetro;}
Sapreste dirmi come mai quegli errori?codice:#include <cstdlib> #include <cstdlib> #include <stdio.h> #include "Quadrilatero.hpp" #include <iostream> using namespace std; /* * */ int main(int argc, char** argv) { int number=5; Quadrilatero q=new Quadrato(number); int Area=q.getArea(); int Perimetro=q.getPerimetro(); printf("Il lato del quadrato č %d\n", number); printf("L' area č %d\n",Area); printf("Il perimetro č %d\n", Perimetro); //return 0; }

Rispondi quotando