PDA

Visualizza la versione completa : [c++] implementazione classe


p4sko
26-03-2013, 22:00
Salve, vorrei chiedervi qualche chiarimento base per l'implementazione di classi e mi rivolgo al forum visto che sono anni che non tocco c++ e adesso mi serve per integrare una vecchia materia.
L'esame consiste nella dichiarazione di una classe (impiegato x es), l'implementazione di un array di questi impiegati e la funzione di ricerca stipendio massimo tra questi impiegati.
Fino alla creazione della classe "dovrei" esserci...x il resto il buio + totale :)
Questa è la classe:


#include <iostream>
using namespace std;


class Impiegato {
public:
Impiegato(string n, string c, double stp);
nome=n;
cognome=c;
stipendio=stp;
private:
string nome;
string cognome;
double stipendio;
};

Partendo da qui, come faccio adesso a creare un array di questi impiegati?


string array_Impiegato[3];
int i;
for(i=0; i<3; i++)

...

Alex'87
26-03-2013, 22:19
Originariamente inviato da p4sko

#include <iostream>
using namespace std;


class Impiegato {
public:
Impiegato(string n, string c, double stp);
nome=n;
cognome=c;
stipendio=stp;
private:
string nome;
string cognome;
double stipendio;
};
Sicuro che le variabili si inizializzino lì?

p4sko
26-03-2013, 22:24
ripeto, ho ripreso il c++ dopo molti anni..a detta del professore quest'implementazione è giusta, perciò mi sono fidato dicendo che almeno l'inizio fosse giusto. Ho aperto una discussione proprio per cercare di capire e chiedere a chi è più esperto di me!
Alex, come dovrebbe essere la sintassi? ho invertito public e private?

Alex'87
26-03-2013, 23:14
Originariamente inviato da p4sko
ripeto, ho ripreso il c++ dopo molti anni..a detta del professore quest'implementazione è giusta, perciò mi sono fidato dicendo che almeno l'inizio fosse giusto. Ho aperto una discussione proprio per cercare di capire e chiedere a chi è più esperto di me!
Alex, come dovrebbe essere la sintassi? ho invertito public e private?

L'ordine di public/private non è importante.




public:
Impiegato(string n, string c, double stp);
nome=n;
cognome=c;
stipendio=stp;

Questa implementazione non può essere giusta:

Hai un costruttore con tre argomenti. Poi hai tre assegnazioni in mezzo al nulla... Un modo per sistemare (se ricordo bene, C++ non lo usa da un sacco di tempo) può essere:



class Impiegato {
public:
Impiegato(string n, string c, double stp);

... altra roba che non metto
};

Impiegato::Impiegato(string n, string c, double stp) {
nome=n;
cognome=c;
stipendio=stp;
}

Alex'87
26-03-2013, 23:17
Per l'array hai vari modi... Puoi usare Impiegato impiegati[dimensione], vector<Impiegato>, usare new... Dipende da come lo vuoi implementare e da cosa ti è permesso usare.

p4sko
26-03-2013, 23:25
bene, fiero di avere un prof. demente che tra l'altro, pretende! mah..cmq ok, è già un inizio, per quanto riguarda l'inserimento dell'array?
E' una materia del 1 anno d'ingegneria che mi ritrovo a dover integrare dopo molti anni xkè hanno fatto errori e perso molti registri (come sia possibile non chiedetelo), ho parlato col professore il quale mi ha detto che devo implementare classi, poi svolgere le altre cose che vi ho gentilmente chiesto. Naturalmente mi trovo in grande difficoltà nel sostenere quest'esame anche perchè ho preso una strada totalmente diversa dalla programmazione e sono nelle vostre mani :popcorn:

...

quale metodo di inserimento array mi consigli? cmq è un array di oggetto e quello che ho scritto prima io dovrebbe essere sbagliato..pian piano forse ricordo qualcosa, "forse" eheh

Loading