#include
#include
using namespace std;
enum yn {no, yes};
enum color {red, yellow, green, orange};
void out(enum yn x);
char *c[] = {
"red","yellow","green","orange"
};
class fruit {
public:
enum yn annual;
enum yn perennial;
enum yn tree;
enum yn tropical;
enum color clr;
char name[40];
};
class Apple : public fruit {
enum yn cooking;
enum yn crunchy;
enum yn eating;
public:
void seta(char *n, enum color c, enum yn ck, enum yn crchy, enum yn e);
void show();
};
class Orange : public fruit {
enum yn juice;
enum yn sour;
enum yn eating;
public:
void seto(char *n, enum color c, enum yn j, enum yn sr, enum yn e);
void show();
};
void Apple::seta(char *n, enum color c, enum yn ck, enum yn crchy, enum yn e)
{
strcpy(name, n);
annual = no;
perennial = yes;
tree = yes;
tropical = no;
clr = c;
cooking = ck;
crunchy = crchy;
eating = e;
}
void Orange::seto(char *n, enum color c, enum yn j,
enum yn sr, enum yn e)
{
strcpy(name, n);
annual = no;
perennial = yes;
tree = yes;
tropical = yes;
clr = c;
juice = j;
sour = sr;
eating = e;
}
void Apple::show()
{
cout << name << "apple: " << "\n";
cout << "plant :"; out(annual);
cout << "ta plant:"; out(perennial);
cout << "tree:"; out(tree);
cout << "nettai: "; out(tropical);
cout << "color:" << c[clr] << "\n";
cout << "for cook" ; out(cooking);
cout << "solid: "; out(crunchy);
cout << "food: "; out(eating);
cout << "\n";
}
void Orange::show()
{
cout << name << "orange: " << "\n";
cout << "plant :"; out(annual);
cout << "ta plant:"; out(perennial);
cout << "tree:"; out(tree);
cout << "nettai: "; out(tropical);
cout << "color:" << c[clr] << "\n";
cout << "juice" ; out(juice);
cout << "suppi: "; out(sour);
cout << "food: "; out(eating);
cout << "\n";
}
void out(enum yn x)
{
if(x==no) cout << "no\n";
else cout << "yes\n";
}
int main()
{
Apple a1, a2;
Orange o1, o2;
a1.seta("red delicious", red, no, yes, yes);
a2.seta("jonasson", red, yes, no, yes);
o1.seto("neble", orange, no, no, yes);
o2.seto("ballensia", orange, yes, yes, no);
a1.show();
a2.show();
o1.show();
o2.show();
return 0;
}