| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 620 人关注过本帖
标题:这个是关于类的问题,我是初学者,谁能帮我看看我错哪了?
只看楼主 加入收藏
小旭旭
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
这个是关于类的问题,我是初学者,谁能帮我看看我错哪了?
声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个共有成员函数run、stop。其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};frequency为单位是MHz的整形数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。
这是我的程序:

#include <iostream>
using namespace std;
enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};
class CPU{
public:
    CPU(CPU_RANK r,int f,float v)
    CPU_Rank GetRank()const{return rank;}
    int GetFrequency()const{return frequency;}
    float GetVoltage()const{return voltage;}
   
    void ShowRank(CPU_Rank r){rank=r;}
    void ShowFrequency(int f){frequency=f;}
    void ShowVoltage(float v){voltage=v;}
   
    void Run(){cout<<"CPU开始运行!"<<endl;}
    void Stop(){cout<<"CPU停止运行!"<<endl;}
private:
    int frequency;
    float voltage;
    CPU_Rank rank;
}
CPU::CPU(CPU_RANK r,int f,float v){
    rank=r;
    frquency=f;
    voltage=v;
    cout<<"形成了一个CPU"<<endl;
}
~CPU();
int main()
{
    CPU c(P2,200,2);
    c.Run();
    c.Stop();
}

我有点混乱,希望会的人们帮我解决下这个问题,我现在确实很混乱。。。谢谢了哈
搜索更多相关主题的帖子: frequency include public 
2013-04-10 22:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
不知道你到底有什么问题,就算你当自己是铁扇公主,别人也不都是孙悟空呀。

授人以渔,不授人以鱼。
2013-04-10 22:30
小旭旭
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-3-17
收藏
得分:0 
回复 2楼 TonyDeng
2013-04-10 22:33
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
收藏
得分:4 
楼主 你真的是很混乱 来看看你的代码吧
1. 类定义要以分号结束
class CPU{
/* */
}

2. 类成员定义要以分号结束
CPU(CPU_RANK r,int f,float v)

3. 类成员要在类中定义 类外实现
~CPU();//析构函数这样写在外面 想做什么

4. 大小写要谨慎
CPU_RANK//这个是什么

5. 变量名不要拼错
CPU::CPU(CPU_RANK r,int f,float v){
    rank=r;
    frquency=f;
    voltage=v;
    cout<<"形成了一个CPU"<<endl;
}

6. main函数记得return 0
7. 函数名字要有真实的含义 不要误导观众
void ShowRank(CPU_Rank r){rank=r;}//你show了什么
    void ShowFrequency(int f){frequency=f;}
    void ShowVoltage(float v){voltage=v;}

人生是一场错过 愿你别蹉跎
2013-04-10 23:04
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:4 
以下是引用TonyDeng在2013-4-10 22:30:57的发言:

不知道你到底有什么问题,就算你当自己是铁扇公主,别人也不都是孙悟空呀。

说得好

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-04-11 06:48
fanflysheep
Rank: 1
等 级:新手上路
帖 子:2
专家分:9
注 册:2013-4-11
收藏
得分:4 
#include <iostream>
using namespace std;

enum CPU_RANK{P1=1,P2,P3,P4,P5,P6,P7};//CPU_RANK的大小写上下文统一呀!!

class CPU{
public:
    CPU():rank(P1),frequency(0),voltage(0.0){}//最好加上默认构造吧
    CPU(CPU_RANK r,int f,float v);//需要一个 ;
    ~CPU(){}

    CPU_RANK GetRank()const{return rank;}
    int GetFrequency()const{return frequency;}
    float GetVoltage()const{return voltage;}
   
    void ShowRank(CPU_RANK r){rank=r;}
    void ShowFrequency(int f){frequency=f;}
    void ShowVoltage(float v){voltage=v;}
   
    void Run(){cout<<"CPU开始运行!"<<endl;}
    void Stop(){cout<<"CPU停止运行!"<<endl;}
private:
    int frequency;
    float voltage;
    CPU_RANK rank;
};//类结束后加分号


CPU::CPU(CPU_RANK r,int f,float v){
    rank=r;
    frequency=f;
    voltage=v;
    cout<<"形成了一个CPU"<<endl;
}

int main()
{
    CPU c(P2,200,2);
    c.Run();
    c.Stop();
    return 0;
}
2013-04-12 00:05
aa495939792
Rank: 2
等 级:论坛游民
帖 子:8
专家分:19
注 册:2013-4-8
收藏
得分:4 
我遇到一个问题。
2013-04-12 12:29
aa495939792
Rank: 2
等 级:论坛游民
帖 子:8
专家分:19
注 册:2013-4-8
收藏
得分:0 
然后一连串的原文。最后,我不知道问题出在哪了~!
2013-04-12 12:29
快速回复:这个是关于类的问题,我是初学者,谁能帮我看看我错哪了?
数据加载中...
 
   



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

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