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:
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 sua implementazione .cpp:
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 derivata .hpp:
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 */
La sua implementazione .cpp:
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;}
E main finale:
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;
}
Sapreste dirmi come mai quegli errori?