wushaodong 发表于 2016-4-11 00:40:56

无法显示

# include <iostream>
# include <string>


class Pet
{
public:
        Pet(std::string thename);
        void eat();
        void sleep();
        void play();
protected:
        std::string name;
};

Pet::Pet(std::string thename)
{
        name=thename;

}

void Pet::eat()
{

        std::cout<<name<<"正在吃东西";
}

void Pet::sleep()
{

        std::cout<<name<<"正在睡觉";
}

void Pet::play()
{

        std::cout<<name<<"正在玩";
}



class Cat : public Pet
{
public:
        Cat(std::string thename);

        void play();
       
};
Cat::Cat(std::string thename) : Pet(thename)
{
   name = thename;

}
void Cat::play()

{
        Pet::play();

    std::cout<<name<<"在玩毛线球\n";
       
}
class Dog : public Pet
{
public:

        Dog(std::string thename);
        void play();
};

void Dog::play()
{

        Pet::play();
        std::cout<<"小狗正在追赶小猫";
}

Dog::Dog(std::string thename) : Pet(thename)
{
}



int main(void)
{

    Cat cat("cat");
    Dog dog("dog");



        return 0;
}

//为什么显示不了任何东西

奥古斯丁少爷 发表于 2016-4-11 01:16:06

因为main函数里你只是调用构造函数创建了对象,没有用对象的方法啊

atmo 发表于 2016-4-11 08:32:12

好好看书

xls6688 发表于 2016-4-11 22:53:13

看看{:5_92:}

wushaodong 发表于 2016-4-14 01:40:07

奥古斯丁少爷 发表于 2016-4-11 01:16
因为main函数里你只是调用构造函数创建了对象,没有用对象的方法啊

那应该如何调用呢

奥古斯丁少爷 发表于 2016-4-15 12:05:54

main函数里 在创建对象后写上 cat.play( ) , dog.play( );
页: [1]
查看完整版本: 无法显示