弹指间LDL 2015-08-17 05:59 采纳率: 100%
浏览 1784
已采纳

一个C++小程序运行错误,求大神帮忙看看

#include
#include "stdafx.h"
using namespace std;

/* run this program using the console pauser or add your own getch, system("pause") or input loop /
class cartp
{
public:
virtual char
getcar()=0;
};
class BMW:public cartp
{
public:
char* getcar()
{
return "BMW";
}
};
class BENZ:public cartp
{
public:
char* getcar()
{
return "BENZ";
}
};
class carfactory
{
public:
static cartp* getcarname(char* name)
{
if(name=="BMW")
{
return new BMW();
}
else if(name=="BENZ")
{
return new BENZ();
}
else
{
return NULL;
}
}
};
int main(int argc, char** argv)
{
char name[20]={0};
char* car=name;
cout<<"input cartype:";
cin>>name;
cartp* cc=carfactory::getcarname(car);
cout<<"type is"<getcar()<<endl;
return 0;
}

  • 写回答

9条回答 默认 最新

  • 纵横车 2015-08-17 06:15
    关注
     class cartp
    {
    public:
        virtual char* getcar()=0;
    };
    
    class BMW:public cartp
    {
    public:
        char* getcar()
        {
            return "BMW";
        }
    };
    
    class BENZ:public cartp
    {
    public:
        char* getcar()
        {
            return "BENZ";
        }
    };
    
    class carfactory
    {
    public:
        static cartp* getcarname(char* name)
        {
            if(strcmp(name,"BMW") == 0)
            {
                return new BMW();
            }
            else if(strcmp(name,"BENZ") == 0)
            {
                return new BENZ();
            }
            else
            {
                return NULL;
            }
        }
    };
    int main(int argc, char** argv)
    {
        char name[20] = {0};
        char* car = name;
        cout<<"input cartype:";
        cin>>name;
    
        cartp* cc = carfactory::getcarname(car);
        cout<<"type is"<<cc->getcar()<<endl;
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号