69 lines
825 B
C++
69 lines
825 B
C++
#ifndef EXERCISE_2_HPP_
|
|
#define EXERCISE_2_HPP_
|
|
|
|
#include <iostream>
|
|
|
|
class Fruit
|
|
{
|
|
private:
|
|
std::string m_name;
|
|
std::string m_color;
|
|
public:
|
|
void setName(std::string name)
|
|
{
|
|
m_name = name;
|
|
}
|
|
|
|
void setColor(std::string color)
|
|
{
|
|
m_color = color;
|
|
}
|
|
|
|
const std::string& getName() const
|
|
{
|
|
return m_name;
|
|
}
|
|
|
|
const std::string& getColor() const
|
|
{
|
|
return m_color;
|
|
}
|
|
};
|
|
|
|
class Apple : public Fruit
|
|
{
|
|
public:
|
|
Apple(std::string color = "")
|
|
{
|
|
if (color == "")
|
|
color = "green";
|
|
|
|
setName("apple");
|
|
setColor(color);
|
|
}
|
|
};
|
|
|
|
class Banana : public Fruit
|
|
{
|
|
public:
|
|
Banana(std::string color = "")
|
|
{
|
|
if (color == "")
|
|
color = "yellow";
|
|
|
|
setName("banana");
|
|
setColor(color);
|
|
}
|
|
};
|
|
|
|
class GrannySmith : public Apple
|
|
{
|
|
public:
|
|
GrannySmith()
|
|
{
|
|
setName("Granny Smith " + Apple::getName());
|
|
}
|
|
};
|
|
|
|
#endif
|