Program
dogs.cpp
#include <iostream>
#include <conio.h>
#include <string>
#include <cstdlib>
using namespace std;
class Dog
{
private:
string breed;//fields for a breed (for example, "Labrador")
string EyeColor;//eye color
public:
Dog(string Breed="", string eyeColor="")
{breed=Breed;EyeColor=eyeColor;}
//Include extraction and insertion operators.
string getBreed() {return breed;}
string setBreed(string Breed) {breed=Breed;}
string getEyeColor() {return EyeColor;}
string setEyeColor(string eyeColor) {EyeColor=eyeColor;}
friend Dog operator *(Dog d1,Dog d2);
void display(){cout<<"Breed: "<<breed<<"; eye color: "<<EyeColor<<endl;}
};
Dog operator *(Dog d1,Dog d2)
{
Dog newDog;
if(d1.getBreed() == d2.getBreed())
newDog.setBreed(d1.getBreed());
else
newDog.setBreed("Mixed");
int k = rand() %2;
if(k == 0)
newDog.setEyeColor(d1.getEyeColor());
else
newDog.setEyeColor(d2.getEyeColor());
return Dog(newDog.getBreed(), newDog.getEyeColor());
}
int main()
{
Dog d1("Labrador","Yellow"),
d2("Labrador","Green"),
d3("Dog","Yellow"),
d4("Mops","Black");
cout <<"dog #1: ";d1.display();
cout <<"dog #2: ";d2.display();
Dog dr1;
dr1=d1*d2;
cout<<"Result of pair dog: ";dr1.display();
cout<<"dog #3: ";d3.display();
cout<<"dog #4: ";d4.display();
cout<<"Result of pair dog: ";(d3*d4).display();
getch();
return 1;
}Example of execute program:
dog #1: Breed: Labrador; eye color: Yellow
dog #2: Breed: Labrador; eye color: Green
Result of pair dog: Breed: Labrador; eye color: Yellow
dog #3: Breed: Dog; eye color: Yellow
dog #4: Breed: Mops; eye color: Black
Result of pair dog: Breed: Mixed; eye color: Blackhttp://www.AssignmentExpert.com/
Comments