关于#c++#的问题:这个代码怎末改正#include <iostream>

这个代码怎末改正


#include
#include
using namespace std;
class Songer{
private:
    char name[20];
    long long fans_count;
    static int count;
public:
    Songer(){
        strcpy(name,"");
        fans_count=0;
        count=3;
    }
    Songer(const Songer&song){
        strcpy(name,song.name);
        fans_count=song.fans_count;
        count=song.count;
    }
    void read(){
        gets(name);
        int fans;
        cin>>fans;
        fans_count=fans;
    }
    void Set(int num){
        fans_count=num;
    }
    ~Songer(){
        cout<<"执行析构函数"<int show_count(){
        return count;
    }
    friend void PK(Songer &a,Songer &b);
};
 void PK(Songer &a,Songer &b){
        if(a.fans_count>b.fans_count){
            cout<"战胜"<if(a.fans_count==b.fans_count){
            cout<"和"<"是平局"<if(b.fans_count"战胜"<int main(){
    Songer num1,num2,num3;
    num1.read(),num2.read(),num3.read();
    num1.show_count();
    PK(num1,num2);
    PK(num2,num3);
    PK(num3,num1);
    return 0;
}

num1.read(),num2.read(),num3.read();

目测是分号
num1.read();num2.read();num3.read();

但是我没搞清楚你的set想干嘛,fans_count和count分别干嘛,count是歌手数量么?为什么定义成static

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7415758
  • 这篇博客也不错, 你可以看下C++重复读取文件最后一行问题&&解决
  • 除此之外, 这篇博客: C++源文件和头文件的多文件结构中的 #include 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    说明:#include 是一个来自C语言的宏命令,它在编译器进行编译之前,即在预编译的时候就会起作用。**#include的作用是把它后面所写的那个文件的内容,完完整整地、 一字不改地包含到当前的文件中来**。简单的文本替换,别无其他。因此,main.cpp文件中的第一句(#include “math.h”),在编译之前就会被替换成math.h文件的内容。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^