No Code(睡觉版) 2018-12-31 00:21 采纳率: 33.3%
浏览 1919
已采纳

这串代码运行不起来?报错为:.stop”的左边必须有类/结构/联合,“.run”的左边必须有类/结构/联合

#include
using namespace std;
class CPU
{
CPU(int c=1);
};
class RAM
{
RAM(int ram=2);
};
class CDROM
{
CDROM(int cdrom=3);
};
class Computer
{
public:
Computer(CPU c,RAM r,CDROM d);
~Computer();
void run()
{
cout<<"cpu为:"<<" "<<"ram为:"<<" "<<"cdrom为:"<<endl;
cout<<"调用的是这个run函数"<<endl;
}
void stop()
{
cout<<"调用的是这个stop函数"<<endl;
}
private:
CPU cpu;
RAM ram;
CDROM cdrom;
};
Computer::Computer(CPU c,RAM r,CDROM d):cpu(c),ram(r),cdrom(d)
{
cout<<"调用的是构造函数"<<endl;
}
Computer::~Computer()
{
cout<<"调用的是该析构函数"<<endl;
}
int main()
{
Computer thing();
thing.run();
thing.stop();
return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-12-30 16:48
    关注

    你的类定义不符合语法

    #include <iostream>
    
    using namespace std;
    
    class CPU
    {
    public:
        CPU(int c = 1) {}
    };
    class RAM
    {
    public:
        RAM(int ram = 2) {}
    };
    class CDROM
    {
    public:
        CDROM(int cdrom = 3) {}
    };
    class Computer
    {
    public:
        Computer(CPU c, RAM r, CDROM d);
        ~Computer();
        void run()
        {
            cout << "cpu为:" << " " << "ram为:" << " " << "cdrom为:" << endl;
            cout << "调用的是这个run函数" << endl;
        }
        void stop()
        {
            cout << "调用的是这个stop函数" << endl;
        }
    private:
        CPU cpu;
        RAM ram;
        CDROM cdrom;
    };
    Computer::Computer(CPU c, RAM r, CDROM d) :cpu(c), ram(r), cdrom(d)
    {
        cout << "调用的是构造函数" << endl;
    }
    Computer::~Computer()
    {
        cout << "调用的是该析构函数" << endl;
    }
    int main()
    {
        CPU c;
        RAM r;
        CDROM cd;
        Computer thing(c, r, cd);
        thing.run();
        thing.stop();
        return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))