Ma ceo program je komplikacija ziva. Ima dakle sledece klase :
tacka, boja, figura, krug, trougao, cetvorougao, mnogougao ...etc crtez, galerija.
Gde su ocigledno trougao i ostali izvedeni iz figure itd.
Ja cu evo dati kod samo za klasu boja :
Code:
// ovde treba napraviti jos jednu klasu koja ce da nehluje exception
class G_neispravna_boja {
}
class Boja {
int r,g,b; // red green blue
void postavi(int rr, int gg, int bb){
Boja pom(rr,gg,bb);
// ovo unosim prvo u pomocnu
// da bi ga konstruktor proverio
// i sad ako je ok onda samo upisati u pravu
r= pom.r;
g= pom.g;
b= pom.b;
}
public:
Boja(int rr=0, int gg=0, int bb=0){
if(rr < 0 || rr > 255 || gg < 0 || gg > 255 || bb < 0 || bb >255){
// greska
//cout<<"Uneseni podaci nisu u dozvoljenom opsegu!";
throw G_neispravna_boja();
// e dakle ovde se poziva exception
}
// Ovde treba proveriti boju dali je u opsegu
r=rr;
g=gg;
b=bb;
}
void postavi_r(int rr){
postavi(rr,g,b);
}
void postavi_g(int gg){
postavi(r,gg,b);
}
void postavi_b(int bb){
postavi(r,g,bb);
}
void unesi(){
int rr,gg,bb;
cout<<"Unesi boju (r,g,b): ";
cin>>rr>>gg>>bb;
postavi(rr,gg,bb);
}
void pisi(){
cout<<"boja: ["<<r<<","<<g<<","<<b<<"]\n";
}
};
#endif
Ako neko ima neki primer toga. Na netu gde kod sam nesot nasao, to je po sistemu
main() {
try {
//do your work
} catch (...){
}