Salve, perchè il compilatore in TesterStudente.cpp mi da questo errore "error: expected unqualified-id before '(' token" quando provo a scrivere questo ?
studente arrS[3];
arrS[0].("matematica", "informatica" , "italiano" , "fisica", "storia"); <-- mi da l'errore su questa riga
TesterStudente.cpp
#include <iostream>
#include "studente.h"
int main(void) {
studente arrS[3];
arrS[0].("matematica", "informatica" , "italiano" , "fisica", "storia");
arrS[0].setMatricola("111111");
arrS[0].setNome("Primo nome");
arrS[0].setEsame(25,0);
arrS[0].setEsame(30,1);
arrS[0].setEsame(27,2);
arrS[0].setEsame(22,3);
arrS[0].setEsame(25,4);
arrS[0].printStudente();
arrS[1].("matematica", "informatica" , "italiano" , "fisica", "storia");
arrS[1].setMatricola("222222");
arrS[1].setNome("Secondo nome");
arrS[1].setEsame(25,0);
arrS[1].setEsame(30,1);
arrS[1].setEsame(27,2);
arrS[1].setEsame(22,3);
arrS[1].setEsame(25,4);
arrS[0].printStudente();
arrS[2].("matematica", "informatica" , "italiano" , "fisica", "basi di dati");
arrS[2].setMatricola("222222");
arrS[2].setNome("Terzo nome");
arrS[2].setEsame(25,0);
arrS[2].setEsame(30,1);
arrS[2].setEsame(27,2);
arrS[2].setEsame(22,3);
arrS[2].setEsame(25,4);
arrS[0].printStudente();
system("pause");
return 0;
}
studente.h
#ifndef STUDENTE_H_
#define STUDENTE_H_
#include <string>
#include "esame.h"
#define N_ESAMI 5
class studente {
public:
studente();
studente(std::string, std::string, std::string, std::string, std::string);
void setMatricola(std::string);
void setNome(std::string);
std::string getMatricola();
std::string getNome();
int getNumEsami() { return N_ESAMI; };
void setEsame(int, int);
int getVotoEsame(int);
std::string getNomeEsame(int);
bool getSostenuto(int);
float getMedia();
void printStudente();
private:
std::string matricola;
std::string nome;
esame e[5];
const int nEsami = N_ESAMI;
};
#endif /* STUDENTE_H_ */
studente.cpp
#include <iostream>
#include "studente.h"
studente::studente() {
for (int i=0; i<N_ESAMI; ++i) {
e[i].setEsame("");
e[i].setSostenuto(0);
}
}
studente::studente(std::string a, std::string b , std::string c , std::string d, std::string e) {
this->e[0].setEsame(a);
this->e[0].setSostenuto(0);
this->e[1].setEsame(b);
this->e[1].setSostenuto(0);
this->e[2].setEsame(c);
this->e[2].setSostenuto(0);
this->e[3].setEsame(d);
this->e[3].setSostenuto(0);
this->e[4].setEsame(e);
this->e[4].setSostenuto(0);
}
void studente::setMatricola(std::string m) {
matricola = m;
}
void studente::setNome(std::string n) {
nome = n;
}
std::string studente::getMatricola() {
return matricola;
}
std::string studente::getNome() {
return nome;
}
void studente::setEsame(int v, int i) {
e[i].setVoto(v);
}
int studente::getVotoEsame(int i) {
return e[i].getVoto();
}
std::string studente::getNomeEsame(int i) {
return e[i].getEsame();
}
bool studente::getSostenuto(int i) {
return e[i].isSostenuto();
}
float studente::getMedia() {
int sum = 0;
for (int i=0; i<N_ESAMI; ++i) {
sum = sum + e[i].getVoto();
}
return (sum/N_ESAMI);
}
void studente::printStudente() {
std::cout << "Matricola studente: " << matricola << std::endl;
std::cout << "Nome studente: " << nome << std::endl;
std::cout << "Voti studente: ";
for (int i=0; i<N_ESAMI; ++i) {
std::cout << e[i].getVoto() << " ";
}
std::cout<<std::endl;
std::cout << "Numero esami: " << N_ESAMI << std::endl;
}
Grazie.