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

woyaosougou 2016-06-02 07:52:24
#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 TEST OK"<<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
本人愚笨,还请各位大神指教
...全文
82 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
woyaosougou 2016-06-02
  • 打赏
  • 举报
回复
引用 4 楼 qq423399099 的回复:
要注意变量命名规则。。。

#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 TEST  OK"<<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 *d = new dog("123");
       Pet *c = 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;
}
谢谢了...我太粗心了
woyaosougou 2016-06-02
  • 打赏
  • 举报
回复
引用 3 楼 yshuise 的回复:
发成冲突了,你的变量名和构造函数的调用同名
好吧 是我没认真看.... 谢谢了
小灸舞 2016-06-02
  • 打赏
  • 举报
回复
要注意变量命名规则。。。

#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 TEST  OK"<<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 *d = new dog("123");
       Pet *c = 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;
}
yshuise 2016-06-02
  • 打赏
  • 举报
回复
发成冲突了,你的变量名和构造函数的调用同名
woyaosougou 2016-06-02
  • 打赏
  • 举报
回复
woyaosougou 2016-06-02
  • 打赏
  • 举报
回复
就是这样!!!!!!

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧