woyaosougou 发表于 2016-6-2 18:54:46

关于c++指向对象的指针

#include<iostream>
#include<string>
class Pet
{
        public:
        Pet(std::string thename);
        void FREE_TEST();
        void FOOK_TEST();
        void EAT_TEST();
        protected:
        std::string name;
};
class dog:public Pet
{
        public:
        dog(std::string thename);
       
        void CLIMB();
};
class cat:public Pet
{
        public:
        cat(std::string thename);
       
        void KIDDING_TEST();
       
};
Pet::Pet(std::string thename)
{
        name = thename;
}
void Pet::FREE_TEST()
{
        std::cout<<name <<"\n"<<"FREE TESTOK"<<std::endl;
}
void Pet::FOOK_TEST()
{
        std::cout<<name <<"FOOK TEST OK"<<std::endl;
}
void Pet::EAT_TEST()
{
        std::cout<<name <<"EAT TEST OK "<<std::endl;
}
dog::dog(std::string thename):Pet(thename)
{
}
void dog::CLIMB()
{
        std::cout<<"CLIIMB TEST OK"<<std::endl;
}
cat::cat(std::string thename):Pet(thename)
{
}
void cat::KIDDING_TEST()
{
        std::cout<<"KIDDING TEST OK "<<std::endl;
}
int main()
{
           Pet *dog = new dog("123");
           Pet *cat = new cat("546456");
           //dog->CLIMB();
           //dogFREE_TEST();
           //dog.FOOK_TEST();
           //dog.EAT_TEST();
          
           //cat->KIDDING_TEST();
           //cat.FREE_TEST();
           //cat.EAT_TEST();
           //cat.FOOK_TEST();
        return 0;
}
最后编译提示 dog和cat 不是一个type
本人愚笨,还请各位大神指教

woyaosougou 发表于 2016-6-2 19:07:21

{:10_269:}

woyaosougou 发表于 2016-6-2 19:11:23

就是这个样子

李星 发表于 2016-6-8 00:01:14

大兄弟,,{:5_98:}{:5_98:}   这个其实很好解决阿   61 和 60 行的 *dog和 *cat你得换个名字 应该是与 dogcat 又冲突我改了之后 很好用


同时呢dog和cat的特有函数成员我不知道怎么调用 ........................


共同学习 {:5_110:}
页: [1]
查看完整版本: 关于c++指向对象的指针