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日

悬赏问题

  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害