LincyP_ 2022-04-08 07:42 采纳率: 100%
浏览 32
已结题

C++调用函数输出类中成员 程序中不显示

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
#include<iostream>
#include<string>
using namespace std;
class village
{
public:
     village(int ,string );
     void show();
     void usedwater(int k);
    static showwater();
private:
    string name;
    int num;
    static int water;
    

};

village::village(int i,string j)
{
    num=i;
name=j;

}
void village::show()//获得村名和人数
{
    cout<<"村名:"<<name<<" ";
cout<<"人数:"<<num<<endl;
}

void village::usedwater(int k)//用水
{int a=k;
cout<<"用水:"<<a<<endl;
}

static int water=100;

static nowwater(int m)//当前水位
{
int n;
n=water-m;
cout<<"当前水位:"<<n<<endl;
}

int main()
{village a(100,"张村");
village b(200,"李村");
a.show;
a.usedwater;
a:;nowwater(30);
b.show;
b.usedwater;
static int water=100;
b:;nowwater(60);

return 0;
}


运行结果及报错内容

无报错
没有输出

img


img

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

3条回答 默认 最新

  • 金士顿 2022-04-08 11:26
    关注

    大兄弟,这个代码要是你自己写的,你的c++基础太差了,看看初级语法的书,我当时看的谭浩强的,简单入门,不要着急写程序
    如有帮助,请采纳

    第10行 static showwater(); 修改为 static int showwater();
    第39行 static nowwater(int m)//当前水位 static void nowwater(int m)//当前水位

    第50、51、53、54调用函数叫()
    51行、54行没有实参

    52、56是静态函数,和对象a、b没有关系
    nowwate()

    #include<iostream>
    #include<string>
    using namespace std;
    class village
    {
    public:
        village(int, string);
        void show();
        void usedwater(int k);
        static void showwater();        
    private:
        string name;
        int num;
        static int water;
    
    
    };
    
    village::village(int i, string j)
    {
        num = i;
        name = j;
    
    }
    void village::show()//获得村名和人数
    {
        cout << "村名:" << name << " ";
        cout << "人数:" << num << endl;
    }
    
    void village::usedwater(int k)//用水
    {
        int a = k;
        cout << "用水:" << a << endl;
    }
    
    static int water = 100;
    
    static void nowwater(int m)//当前水位
    {
        int n;
        n = water - m;
        cout << "当前水位:" << n << endl;
    }
    
    int main()
    {
        village a(100, "张村");
        village b(200, "李村");
        a.show();
        a.usedwater(20);
        nowwater(30);
        b.show();
        b.usedwater(20);
        static int water = 100;
        nowwater(60);
    
        return 0;
    }
    
    运行结果:
    
    ![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/272683883946126.png "#left")
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月8日
  • 已采纳回答 4月8日
  • 创建了问题 4月8日

悬赏问题

  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图