Jump to content

Dúvida sobre Construtor, este código não está correcto porquê?


jocacalu

Recommended Posts

namespace ClassesDerivadas {
//******************************************************
//* Classe1 "ProdutoEletrodomestico" - Classe1 Derivada
//******************************************************
class ProdutoBiologico:
    
public Classes::ClassePrincipal::Produto { 
// 1. Dados 
int caloria; 
int eficacia;
string classe1;

public:
// 2. Métodos
// 2.1 Métodos Construtores
ProdutoBiologico():Produto()
{this->caloria = 0; this->eficacia = 0; this->classe1 = ""; 
cout<<"Produto Biológico criado!";}

ProdutoBiologico(int cal, string d): Produto(cal,d)
{caloria = 0; eficacia = 0; classe1 = ""; 
cout<<"Produto Biológico criado!";}

ProdutoBiologico(int codP, string d, int numC):
Produto(codP,d, numC)
{caloria = 0; eficacia = 0; classe1 ="";
cout<<"Produto Biológico criado!";}

//    2.2 Métodos destrutores
~ProdutoBiologico() {
cout<<"Eliminação de um objeto "<<"'Produto Biológico': ";
cout<<getDesignacao()<<".";
cout<<endl;
}

//    2.3 Métodos "setters" 
void setCaloria (int cal) {this->caloria = cal;}
void setEficacia (int e) {this->eficacia = e;}
void setClasse1(string c3) {this->classe1 = c3;}     

// 2.4 Métodos "getters"
int    getCaloria () {return caloria;} 
int    getEficacia    () {return eficacia;}
string getClasse1() {return classe1;} 

// 2.5 Métodos de leitura
void leCaloria() {
int num = 0;
cout<<"Insira o valor das "<<"calorias: "; 
cin>>num; 
setCaloria(num);
fflush(stdin);
}

void leEficacia() {
int num = 0;
cout<<"Insira o valor da "<<"eficacia: "; 
cin>>num; 
setEficacia(num);
fflush(stdin);
}

void leClasse1() {
const int MAXNOME = 50; 
char texto[MAXNOME];
for(int cLetra= 0; cLetra < MAXNOME; cLetra++) 
texto[cLetra]= '\0';
cout<<"Insira o valor da classe1: ";
cin.getline(texto, MAXNOME,'\n');
setClasse1(texto);
fflush(stdin);
}

// 2.6 Métodos de Escrita 
void mostraCaloria() {
cout<<"Calorias: "<<getCaloria()<<" do produto.";
cout<<endl;
}
void mostraEficacia() {
cout<<"Eficacia: "<<getEficacia ()<<" meses."<<endl;}

void mostraClasse() {
cout<<"Classe: "<<getClasse1()<< "."<<endl;
}
void mostraTudoProdutoEletrodomestico() { 
cout<<"\nApresentação dos dados ";
cout<<"de um produto: "<<endl;
mostraTudoProduto(); 
mostraCaloria(); 
mostraEficacia(); 
mostraClasse1(); 
}

}; // Fim da classe1 "Produto Biológico"
} // Fim do espaço de nomes "ClassesDerivadas".
} // Fim do espaço de nomes "Classes".
//************************************************
//*    Função principal
//************************************************
int main() {
setlocale(LC_ALL, "Portuguese"); 
Classes::ClassesDerivadas::ProdutoBiologico produto; 
produto.leTudoProdutoBiologico(); 
produto.mostraTudoProdutoBiologico(); 
return 0;
} // Fim da função "main()".
 
Link to comment
Share on other sites

Não sei se a questão é retórica ou se é para alguém fazer o trabalho por ti, mas se tens dúvidas, colocas de forma clara e concreta, caso contrário ninguém te vai conseguir ajudar...

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.