Si un progetto console application ;
ora pubblico le varie headers:
yes.h
ifndef TRE_H
#define TRE_H
#include"utente.h"
namespace lori{
class Utente12:public Utente{
friend istream&operator>>(istream&, Utente12&);
friend ostream&operator<<(ostream&,const Utente12&);
private:
char*email;
public:
Utente12(const M,const char * = "",const char * = "",const char * = "");
Utente12(const Utente12&);
virtual bool chek(const Utente12&)throw(Eccezione);
bool operator==(const Utente12&)const;
const Utente12 & operator=(const Utente12&);
bool operator!=(const Utente12&)const;
};}
#endif // TRE_H
M è di tipo data la cui classe è definta qui
#ifndef TRE_H
#define TRE_H
#include<iostream>
using namespace std;
namespace lori{
class Data{
friend istream&operator>>(istream&,Data&);
friend ostream&operator<<(ostream&,const Data&);
private:
int gg;
int mm;
int aa;
public:
Data();
Data(const int ,const int ,const int);
Data(const Data&);
void set_giorno(const int);
void set_mese(const int);
void set_anno(const int);
const int get_giorno()const;
const int get_mese()const;
const int get_ammo()const;
const Data&operator=(const Data&);
bool operator==(const Data&)const;
};
}
#endif
mentre la classe utente è questa
#ifndef OKEI_H
#define OKEI_H
#include<iostream>
#include<cstring>
#include"bho.h"
#include<ctype.h>
#include"eccezione.h"
using namespace std;
namespace lori{
typedef Data M;
class Utente:public Data{
friend istream&operator>>(istream&, Utente&);
friend ostream&operator<<(ostream&,const Utente&);
private:
char Codf[16];
char*cognome;
M registrazione;
public:
Utente(const M,const char * = "",const char * = "");
Utente(const Utente&);
virtual bool chek(const Utente&)throw(Eccezione);
bool operator==(const Utente&)const;
const Utente & operator=(const Utente&);
bool operator!=(const Utente&)const;
};
}
#endif // OKEI_H