#include "stdafx.h"
#include <iostream>
class COperation //基类
{
public:
int m_nFirst;
int m_nSecond;
virtual double Getresult() = 0;
};
class AddOperation:public COperation //加法
{
public:
virtual double GetResult()
{
return m_nFirst + m_nSecond;
}
};
class SubOperation : public COperation //减法
{
public:
virtual double GetResult()
{
return m_nFirst - m_nSecond;
}
};
class CCalculatorFactory //工厂类
{
public:
static COperation *Create(char cOperator);
};
COperation *CCalculatorFactory::Create(char cOperator) //
{
COperation *oper;
switch(cOperator)
{
case'+':
oper = new AddOperation();
break;
case'-':
oper = new SubOperation();
break;
default:
oper = new AddOperation();
break;
}
return oper;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a , b;
cin>>a>>b;
COperation *op = CCalculatorFactory::Create('-');
op->m_nFrist = a;
op->m_nSecond = b;
cout<<op->GetResult()<<endl;
return 0;
}
运行结果为什么有四条错误:
error C2590: 'Create' : only a constructor can have a base/member initializer list
error C2533: 'CCalculatorFactory' : constructors not allowed a return type
error C2969: syntax error : ';' : expected member function definition to end with '}'
fatal error C1004: unexpected end-of-file found
请问下面的c++程序我应该怎么改正:
哈哈,你基类中式Getresult,小写的,后面变成大写了!!!
请问下面的c++程序我应该怎么改正:
哈哈,你基类中式Getresult,小写的,后面变成大写了!!!op->m_nFrist = a; 也写错了
请问以下的一个C++程序要怎样改啊?!要求有x的输出值,但不能单纯地在mai...
using namespace std;class Point { private:int x; \/\/定义private类型 int y;public:Point(){ x=1;y=2;} int GetX() \/\/获取x值,提供一个外部接口 { return x;} void SetX(int a) \/\/设置x的值 { x = a;} };int main(){ Point cpoint;cout<<cpoint.GetX()<<endl;\/\/cpoint...
请帮我看看这个c++程序是什么错误 应该怎样改
首先,表示,窗口程序编写没有问题。我想,你的问题是,编译环境设置问题。如果是VC++6.0下,找到属性选项,选择设置 菜单项。进入 链接选项卡 在最下面的一个文本框中,找到console修改成windows就可以编译运行了。
求帮忙修改c++程序,下面是用栈计算后辍表达式值的程序,请把错误和为...
\/\/int calculation(String B,pseqstack pastack) String C里没有这个类型的,C++里是string,改成char*试了下 int calculation(char* B,pseqstack pastack){ \/\/char a[];数组声明时必须有确定的大小,因为不知道大小,我就瞎写了个 char a[1000];\/\/int i,n,a,b,c;上面已经定义了一个...
C++程序有错误该怎么改?
修改如下,\/\/注释并修改,include<iostream> using namespace std;class Employee{ public:\/\/实现构造方法 Employee(){ name=NULL;adress=NULL;city=NULL;postnum=NULL;} \/\/set 没有返回值,只有构造方法才能没有返回值。同时,参数应该是字符指针 void set(char *name1,char *adress1,char * city...
C++请问下面这个程序哪里错了,我照课本输入输入时, 显示1 error(s...
point D[2]={Point(5,7),Point(8,12)};错了,把point D[2]改成Point D[2]VC区分大小写的,注意
对于这个C++程序,我又一些疑问,希望能帮我解读。
1.现在规范代码,都是int main()不再是以前的void main();不管怎样main()也是一个函数,既然不是void类型就要有返回值;如果执行到return语句时,该函数结束。所以你主函数中return0;后面一句输出是无效的。至于它是返回给谁,我不清楚。2.你的说法是可以的 3.在C或者C++ 中都是由主函数开始执行...
c++语言问题。。请问出错信息为:下面的程序怎么修改
你检查一下stdafx.h是否被正确定义和包含了,应该是没有包含windows.h头文件。
c++问题,下面程序有错误,为length是私有属性,不能访问,要求用两种或...
C++类本来就是保护私有成员的,不能直接通过对象去使用的,你需要通过使用一个公有函数接口去使用,如定义一个公有函数为doubleGetX(){returnx;}