Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- enum COLOR { Green, Blue, White, Black, Brown };
- class Animal {
- public:
- Animal() : _name("unknown") {
- cout << "constructing Animal object " << _name << endl;
- }
- Animal(string n, COLOR c) {
- _name = n;
- cout << "constructing Animal with parameters object " << endl;
- cout << "String: " << n << " Color: " << c << endl;
- }
- ~Animal() {
- cout << "destructing Animal object " << _name << endl;
- }
- virtual void speak() const {
- cout << "Animal speaks " << endl;
- }
- void move() const { }
- private:
- string _name;
- COLOR _color;
- };
- class Mammal :public Animal {
- public:
- Mammal() {
- cout << "constructing default Mammal object " << endl;
- }
- Mammal(string n, COLOR c) {
- name = n;
- c1 = c;
- cout << "constructing Mammal with parameter object " << endl;
- Animal(name, c1);
- }
- void eat() const {
- cout << "Mammal eat " << endl;
- }
- ~Mammal() {
- cout << "destructing Mammal object " << name << endl;
- }
- private:
- string name;
- COLOR c1;
- };
- class Dog :public Mammal {
- public:
- Dog(string n, COLOR c, string own) {
- name = n;
- c1 = c;
- owner = own;
- cout << "constructing Dog with parameter object " << endl;
- Mammal(n, c);
- }
- ~Dog() {
- cout << "destructing Dog object " << name << endl;
- }
- void speak() const {
- cout << "Woof" << endl;
- }
- private:
- string owner;
- string name;
- COLOR c1;
- };
- int main() {
- string n, own;
- COLOR c = Green;
- Animal a; //empty constructor
- a.speak();
- system("PAUSE");
- cout << "Enter string:" << endl;
- cin >> n;
- Animal b(n, c); //parameter constructor
- Mammal mam(n, c); //Mammal subclass constuctor
- mam.speak();
- system("PAUSE");
- cout << "Enter owner:" << endl;
- cin >> own;
- Dog doge(n, c, own); //Dog subclass constructor
- doge.speak();
- system("PAUSE");
- cout << "Program exiting ... " << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement