我有一個類定義和工作,它是TempsSet。但是現在我需要製作一個使用TempsSet的新版本。這是我爲新的類定義的:C++中的類裏面的類
#ifndef SESSIO_H
#define SESSIO_H
class sessio {
public:
// constructors
sessio();
//Pre: --; //Post:posa el temps per defecte a (0,0)
sessio(string d, int h, int dur, string nom);
// Pre: --; Post: el temps sera (DL h,m,s)
void mostrarS() const;
//Pre: --; Post: mostra per pantalla l'horari d'una activitat
void llegirS();
//Pre: --; Post: llegeix per teclat l'horari d'una activitat
private:
TempsSet a_sess;
int a_dur;
string a_nom;
};
#endif // SESSIO_H
而這是TempsSet的類定義。這一個完美的作品:
#ifndef TEMPSSET_H
#define TEMPSSET_H
using namespace std;
class TempsSet {
public:
// constructors
TempsSet();
//Pre:-- //Post:posa el temps per defecte a (0,0)
TempsSet(string d, int h, int m, int s);
// Pre:--; Post: el temps sera (DL h,m,s)
// mètodes consultors
string diaLlarg() const;
//Pre: Dia entrat correctament; Post: retorna el dia sense abreviar
string diaAbr() const;
//Pre: Dia entrat correctament; Post: retorna el dia abreviat
int hora() const;
// Pre: Hora entrada correctament; Post: retorna les hores del temps
int minut() const;
// Pre: Minuts entrat correctament; Post: retorna els minuts del temps
int segon() const;
// Pre: Segon entrat correctament; Post: retorna el segons del temps
bool esIgual(TempsSet t) const;
//Pre: Els dos temps entrats correctament; Post: retorna cert si els dos temps són iguals
bool esMajor(TempsSet t) const;
//Pre: Els dos temps entrats correctament; Post:retorna cert si el temps actual és major que el paràmetre
void mostrar() const;
//Pre: Els temps entrats correctament; Post: mostra el temps per pantalla en format d:h:m:s
void mostrarLlargs() const;
//Pre: Els temps entrats correctament; Post: mostra el temps per pantalla en format sense abreviar
void mostrarDHM() const;
//Pre: Els temps entrats correctament; Post: mostra el temps en format d:h:m
// mètodes modificadors
void llegir();
//Pre: h≥0 i 0≤m<60 i 0≤s<60 sino s'ha de tornar a introduir el valor; Post: llegeix el temps des de teclat en format h:m:s.
void llegirDHM();
//Pre: h≥0 i 0≤m<60 sino s'ha de tornar a introduir el valor; Post: llegeix el temps des de teclat en format h:m.
void incr(int s);
//Pre: h≥0 i 0≤m<60 i 0≤s<60; Post: incrementa el temps en el nombre de segons indicat
void incr (int d, int h, int m, int s);
//Pre--; Post: incrementa el temps en el nombre d’hores, minuts i segons indicats
void decr(int s);
//Pre: h≥0 i 0≤m<60 i 0≤s<60; Post: decrementa el temps en el nombre de segons indicats
void decr(int d, int h, int m, int s);
//Pre: h≥0 i 0≤m<60 i 0≤s<60; Post: decrementa el temps en el nombre d’hores, minuts i segons indicats
private:
int a_s;
int a_d;
};
#endif // TEMPS_H
但是,當我嘗試編譯,它說奇怪的錯誤,我就是缺少來自該行的「d」後一個括號:
sessio(string d, int h, int dur, string nom);
這TempsSet做不是指定類型,而是指向sessio的私有屬性。 任何想法?我該如何解決這個問題?
您是否也包含標題? – 2013-03-10 11:41:26