0
class Animal {
    string _name;
    string _type;
    string _sound;
    // private constructor prevents construction of base class
    Animal(){};
protected:
    // protected constructor for use by derived classes
    Animal(const string & n, const string & t, const string & s)
        : _name(n), _type(t), _sound(s) {}
public:
    void speak() const;
    const string & name() const { return _name; }
    const string & type() const { return _type; }
    const string & sound() const { return _sound; }
};

void Animal::speak() const {
    printf("%s the %s says %s\n", _name.c_str(), _type.c_str(), _sound.c_str());
}

// Dog class - derived from Animal
class Dog : public Animal {
    int walked;
public:
    Dog(string n) : Animal(n, "dog", "woof"), walked(0) {};
    int walk() { return ++walked; }
};

// Cat class - derived from Animal
class Cat : public Animal {
    int petted;
public:
    Cat(string n) : Animal(n, "cat", "meow"), petted(0) {};
    int pet() { return ++petted; }
};

// Pig class - derived from Animal
class Pig : public Animal {
    int fed;
public:
    Pig(string n) : Animal(n, "pig", "oink"), fed(0) {};
    int feed() { return ++fed; }
};

int main(int argc, char ** argv) {
    Dog d("Rover");
    Cat c("Fluffy");
    Pig p("Arnold");

    d.speak();
    c.speak();
    p.speak();

    cout << d.name() << " the dog has been walked " << d.walk() << " times" << endl;
    cout << c.name() << " the cat has been petted " << c.pet() << " times" << endl;
    cout << p.name() << " the pig has been fed " << p.feed() << " times" << endl;
}
//This is the code from eclipse,once i copy and paste in visual studio 2013 it's  working,but if i try to enter
 //everything manualy -create class/constructors,i stack on the creatring constractor
 //function line-Animal(const string & n, const string & t, const string & s)
 // and so on,can some one explaine how to manualy enter everything in visual studio 2013.Thank you.

Edited by aluhnev

3
Contributors
5
Replies
32
Views
2 Years
Discussion Span
Last Post by NathanOliver
0

Specify your question a little more. Are you asking how to start and create a c++ file in visual studio or if when you write this code an error appears when debugging it but not when you paste the same code?

0

The question is how to create class and enter that costructors,in visual studio,but not to type everything on one page.the problem is to create costructor with wizard.

0

Thats good ,i now,but i mean how to create that costructor-Animal(const string & n, const string & t, const string & s)I enter class name,than how to finish that line typing in wizzard? Thanks

Edited by aluhnev

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.