| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1797 人关注过本帖
标题:c++题目:创建老鼠类和猫类,成员如下:(注意多个文件的创建:*.h、*.cpp)
只看楼主 加入收藏
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
结帖率:91.67%
收藏
已结贴  问题点数:30 回复次数:26 
c++题目:创建老鼠类和猫类,成员如下:(注意多个文件的创建:*.h、*.cpp)
程序1.创建老鼠类和猫类,成员如下:(注意多个文件的创建:*.h、*.cpp)
Mouse
特征:名字、体重
行为:吃,初始化成员变量
Cat
特征:名字、体重
行为:初始化成员变量,吃(函数重载:吃食物、吃老鼠)、抓老鼠
我编写边运行的,都可以运行的直到=》cat类中行为:吃(函数重载:吃食物、吃老鼠)这一块时,那么问题来了
我不会了,我不知道怎么在里面写函数重载:然后还吃食物吃老鼠的,意思是我输出这两句?
搜索更多相关主题的帖子: 抓老鼠 
2015-04-30 21:08
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 c语言总虐我 于 2015-4-30 21:41 编辑 ]

连渣都不是——5.8
要拜雍正,专治八阿哥  b u g——6.27
2015-04-30 21:11
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
收藏
得分:0 
我才发现我的截图是这样的

连渣都不是——5.8
要拜雍正,专治八阿哥  b u g——6.27
2015-04-30 21:23
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:2 
按我的理解:不同的类(猫类、鼠类)的方法名称相同应该不属于函数重载。函数重载好像是在相同的空间有相类似的行为的一种方法,将由编译器区分会使用哪个同名函数。
不知道我的理解是否正确。
2015-04-30 21:40
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
收藏
得分:0 
函数重载要求:函数参数的类型不同,或者参数的个数不同,或者二者兼有。
上一次作业写过,但是那时候还没学类;那个作业的问题很简单啊用函数重载实现求圆、矩形、三角形的面积的程序,参数完全就是一二三个啊。
这道题的参数我认为都是一个,我就不会了。。。

连渣都不是——5.8
要拜雍正,专治八阿哥  b u g——6.27
2015-04-30 21:47
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:28 
#include<iostream>
 using namespace std;
 class Mouse{
     private:
      char *name;
      double weight;
    public:
     Mouse(char *name, double weight) {
        this->name = name;
        this->weight = weight;
    }
     char *getName() {
        return name;
    }
     void setName(char *name) {
        this->name = name;
    }
      double getWeight() {
        return weight;
    }
     void setWeight(double weight) {
        this->weight = weight;
    }
      void eat(){
         cout<<"mouse like to eat rice"<<endl;
     }
 };
 class Cat{
     private:
      char *name;
      double weight;
    public:
     Cat(char *name, double weight) {
        this->name = name;
        this->weight = weight;
    }
     char *getName() {
        return name;
    }
     void setName(char *name) {
        this->name = name;
    }
     double getWeight() {
        return weight;
    }
     void setWeight(double weight) {
        this->weight = weight;
    }
      void eat(){
         cout<<"cat like to eat food"<<endl;
     }
      void eat(Mouse mouse){
         cout<<"cat like to eat mouse,its name:"<<mouse.getName()<<endl;
     }
      void caught(Mouse mouse){
         cout<<"cat have caught a mouse,its name:"<<mouse.getName()<<endl;
     }
 };
int main(){
        Cat cat("Tom",20);
        Mouse mouse("Jerry",10);
        mouse.eat();
        cat.eat();
        cat.caught(mouse);
        cout<<"how will "<<cat.getName()<<" deal with the mouse :"<<mouse.getName()<<"?"<<endl;
        cat.eat(mouse);
   

}

剑栈风樯各苦辛,别时冰雪到时春
2015-04-30 22:15
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
收藏
得分:0 
回复 6楼 林月儿
这样直接写
void eat(Mouse mouse)
{
     cout<<"cat like to eat mouse,its name:"<<mouse.getName()<<endl;
 }
可以的嘛?
题目要求初始化成员变量的呀!这个可以这样写?
我忘了说了,要写出food是什么,爱吃的mouse的名字小黄,小绿什么的都可以。。。
那又要怎么写?

连渣都不是——5.8
要拜雍正,专治八阿哥  b u g——6.27
2015-04-30 22:27
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
抱歉,审题不清

剑栈风樯各苦辛,别时冰雪到时春
2015-04-30 23:02
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
刚看了截图,提个建议,捉老鼠那个方法调用里面字符串如果写成dog也能运行吧?这种写法两者之间的关系就…建议把你的题目描述具体点

剑栈风樯各苦辛,别时冰雪到时春
2015-04-30 23:15
c语言总虐我
Rank: 2
等 级:论坛游民
帖 子:112
专家分:66
注 册:2014-11-22
收藏
得分:0 
回复 8楼 林月儿
我理解错了,对对对,不过你那个(Mouse mouse),我下节课才学

[ 本帖最后由 c语言总虐我 于 2015-5-1 22:22 编辑 ]

连渣都不是——5.8
要拜雍正,专治八阿哥  b u g——6.27
2015-04-30 23:22
快速回复:c++题目:创建老鼠类和猫类,成员如下:(注意多个文件的创建:*.h、*. ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020139 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved