Home -> Menu -> Pointers and Enums

Pointers and Enums
Header File
brush.h
#include <string>
class Brush{
public:
enum Color{red, brown, black, green};
enum Style{plastic, wood};
enum Bristles{hard, soft, stiff};
Color shade;
Color bristle;
Style material;
Bristles feels;
string brand;
void hue(){
switch(shade){
case red: cout<<"Color: Red"<<endl;
break;
case brown: cout<<"Color: Brown"<<endl;
break;
case black: cout<<"Color: Black"<<endl;
break;
case green: cout<<"Color: Green"<<endl;
}
}
void hue2(){
switch(bristle){
case red: cout<<"Color: Red"<<endl;
break;
case brown: cout<<"Color: Brown"<<endl;
break;
case black: cout<<"Color: Black"<<endl;
break;
case green: cout<<"Color: Green"<<endl;
}
}
void texture(){
switch(material){
case plastic: cout<<"Material: Plastic"<<endl;
break;
case wood: cout<<"Material: Wood"<<endl;
}
}
void teeth() {
switch(feels){
case hard: cout<<"Bristles Feels: Hard!"<<endl;
break;
case soft: cout<<"Bristles Feels: Soft!"<<endl;
break;
case stiff: cout<<"Bristles Feels: Stiff!"<<endl;
}
}
};
Source File
brush.cpp
#include <iostream.h>
#include <stdlib.h>
#include "brush.h"
/* Uses pointers and enums in classes
Programs the enums to print words and not numbers.:0) */
int main()
{
cout<<"Here is my favorite brush!"<<endl;
Brush *ptrcolor;
Brush *ptrcolor2;
Brush *ptrstyle;
Brush *ptrbristles;
ptrcolor = new Brush;
ptrcolor->shade = Brush::red;
ptrcolor->hue();
delete ptrcolor;
ptrcolor = 0;
ptrcolor2 = new Brush;
ptrcolor2->bristle = Brush::black;
ptrcolor2->hue2();
delete ptrcolor2;
ptrcolor2 = 0;
ptrstyle = new Brush;
ptrstyle->material = Brush::wood;
ptrstyle->texture();
delete ptrstyle;
ptrstyle = 0;
ptrbristles = new Brush;
ptrbristles->feels = Brush::soft;
ptrbristles->teeth();
delete ptrbristles;
ptrbristles = 0;
system("PAUSE");
return 0;
} |