Classes com Alocação dinamica...

1. Classes com Alocação dinamica...

Diego
diegoifnmg

(usa BackTrack)

Enviado em 28/04/2013 - 16:32h

Seguinte, Criei um projeto, tem o arquivo main e outro para as classes, como posso usar alocação dinamica para cadastrar vários professores?

//MAIN

#include <cstdlib>
#include <iostream>
#include "classes.h"
#include <stdlib.h>
#include<iomanip>

using namespace std;

int total = 0;

int main()
{
int op;
float SalaBrut;
Professor pf1;
Professor *professor = NULL;
string TempProfessor;

do{
cout << "1 - Cadastro de Professores" << endl;
cout << "2 - Cadastro de Alunos" << endl;
cout << "3 - SAIR" << endl;
cout << "Digite a opcao: ";
cin >> op;
switch(op)
case 1:
professor = (Professor*)realloc(professor,(total+1) * sizeof(Professor));
cout << "Digite o nome do professor: ";
// getline(cin,TempProfessor);
// professor[total].Nome = new string(TempProfessor);
// *professor[total].Nome = TempProfessor;


}while(op != 3);

system("PAUSE");
return 0;
}


//CLASSES


#include <cstdlib>
#include <iostream>
#include <stdlib.h>
#include<iomanip>

using namespace std;

class Pessoa {
private:
string Nome;
string CPF;
string RG;
string Endereco;
string Email;
string Telefone;
public:
Pessoa() {
}
void setNome(string Nome) {
this->Nome = Nome;
}
string getNome() {
return this->Nome;
}
void setCPF(string CPF) {
this->CPF = CPF;
}
string getCPF() {
return this->CPF;
}
void setRG(string RG) {
this->RG = RG;
}
string getRG() {
return this->RG;
}
void setEndereco(string Endereco) {
this->Endereco = Endereco;
}
string getEndereco() {
return this->Endereco;
}
void setEmail(string Email) {
this->Email = Email;
}
string getEmail() {
return this->Email;
}
void setTelefone(string Telefone) {
this->Telefone = Telefone;
}
string getTelefone() {
return this->Telefone;
}
};

class Professor: public Pessoa {
private:
float SalarioBruto;
public:
Professor() {
this->SalarioBruto = 0;
}
void setSalarioBruto(float SalarioBruto) {
this->SalarioBruto = SalarioBruto;
}
float getSalarioBruto() {
return this->SalarioBruto;
}
float getSalarioLiquido() {
if (SalarioBruto > 0) {
float juros;
if (SalarioBruto <= 1000)
juros = 0.09;
else
if (SalarioBruto <= 2000)
juros = 0.11;
else
if (SalarioBruto <= 3000)
juros = 0.13;
else
juros = 0.15;
return this-> SalarioBruto * (1 - juros);
}
}
};



  


2. Re: Classes com Alocação dinamica...

Paulo
paulo1205

(usa Ubuntu)

Enviado em 29/04/2013 - 18:10h

Já que você está usando C++, seria melhor você não usar alocação no modelo do C, mas sim recursos do próprio C++. Em lugar, por exemplo, de realloc(), use os recursos de <list>, <vector>, <deque> ou <map> (a depender da sua necessidade). E, para suas classes, aprenda a usar a técnica "RAII" (de Resource Acquisition Is Initialization).






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts