注册 登录
编程论坛 C++教室

出拳小游戏

一切皆安 发布于 2011-06-05 10:49, 626 次点击
#include<iostream>
using namespace std;
class poser                             
{
public:
    virtual void beat()const{cout<<"输出一般选手的力量为260磅\n";}
protected:
    int age;
};
class Ali:public poser
{
public:
    void beat()const{cout<<"阿里一拳的力量为420磅\n";}
};
class Lewis:public poser
{
public:
    void beat()const{cout<<"刘易斯一拳的力量为480磅\n";}
};
class Tyson:public poser
{
public:
    void beat()const{cout<<"泰森一拳的力量为500磅\n";}
};
class Holy:public poser
{
public:
    void beat()const{cout<<"霍利非瓦尔德一拳的力量为350磅\n";}
};
int main()
{
    poser *p[5];
    poser *p1;
    int choice,i;
    for(i=0;i<5;i++)
    {
    cout<<"(1)阿里(2)刘易斯(3)泰森(4)霍利菲尔德:";}
    cin>>choice;
    switch(choice)
    {
    case 1:p=new Ali;
    break;
    case 2:p=new Lewis;
    break;
    case 3:p=new Tyson;
    break;
    case 4:p=new Holy;
    break;
    default:p=new poser;
        break;
}
p[i]=p1;
p[i]->beat();
}
return 0;
}
这段代码出错,出在哪????
7 回复
#2
lintaoyn2011-06-05 14:02
大括号不匹配?
 cout<<"(1)阿里(2)刘易斯(3)泰森(4)霍利菲尔德:";}//?
#3
一切皆安2011-06-05 21:28
还是不会调  郁闷
#4
ToBeStronger2011-06-05 22:38
声明的指针数组和指针都没初始化
#5
ToBeStronger2011-06-05 22:49
回复 楼主 一切皆安
#include<iostream>
using namespace std;
class poser                             
{
public:
    virtual void beat()const{cout<<"输出一般选手的力量为260磅\n";}
protected:
    int age;
};
class Ali:public poser
{
public:
    void beat()const{cout<<"阿里一拳的力量为420磅\n";}
};
class Lewis:public poser
{
public:
    void beat()const{cout<<"刘易斯一拳的力量为480磅\n";}
};
class Tyson:public poser
{
public:
    void beat()const{cout<<"泰森一拳的力量为500磅\n";}
};
class Holy:public poser
{
public:
    void beat()const{cout<<"霍利非瓦尔德一拳的力量为350磅\n";}
};
int main()
{
    poser *p[]={NULL,NULL};
    poser *p1=NULL;
    int choice,i;
    for(i=0;i<5;i++)
    {
        cout<<"(1)阿里(2)刘易斯(3)泰森(4)霍利菲尔德:";
        cin>>choice;
        switch(choice)
        {
            case 1:p1=new Ali;
            break;
            case 2:p1=new Lewis;
            break;
            case 3:p1=new Tyson;
            break;
            case 4:p1=new Holy;
            break;
            default:p1=new poser;
            break;
        }
        p[i]=p1;
        p[i]->beat();
    }
    return 0;
}
楼主我帮你改了一下,你看看吧,行不行
#6
一切皆安2011-06-05 23:00
哈哈哈  原来是这样啊,谢了,哥们
#7
ToBeStronger2011-06-05 23:05
回复 6楼 一切皆安
呵呵,不用谢,我帮你改的时候自己也学到一个小知识,其实我之前也不知道数组指针怎么初始化的,共同进步,我也是新手
#8
爱德华2011-06-06 16:24
回复 3楼 一切皆安
cout<<"(1)阿里(2)刘易斯(3)泰森(4)霍利菲尔德:";}怎么不把那个大括号去掉呢?会出错吗?
1