代码地址:https://github.com/dylan110/object-oriented/tree/master/Calculator
题目如上:看完题目之后,我才真正明白一脸懵逼的意思,类is what? queue? string? 题目给的大概意思看懂了,大概就是把一串字符之类的东西分类输出,总觉得C语言可以做到,但毕竟C++,简单的题目弄复杂了,可能想让我们初步接触一下类的概念,以及一些调用,然后我匆匆忙忙地看了C++教程里面的一些内容,封装篇之类的。看完感觉并没有什么用,没有直接的作用。queue啥的并没有看到,没办法,只好针对性地百度。明白了pop push back的基本概念,也只能初步应用,说精通那是不可能的,希望多花点时间去整理下。
在这里黏贴部分代码
class Scan
{
private:
bool error = false;
queue que;
public:
void ToStringQueue(string input);
queue<string> GetQueue();
bool IsError();
};
void Scan::ToStringQueue(string input)
{
string str="";
for (int i=0; i<=input.size(); i++)
if (input[i]<'0'||input[i]>'9')
{
str=input[i];
que.push(str);
str="";
} else
{
str = str + input[i];
if (str.size()>10)
{
error = true;
}
if (input[i+1]<'0'||input[i+1]>'9')
{
que.push(str);
str="";
}
}
}
queue Scan::GetQueue()
{
return que;
}
bool Scan::IsError()
{
return error;
}
string input;
int main()
{
Scan scan;
Print print;
cin >> input;
scan.ToStringQueue(input);
if (scan.IsError())
{
cout << "Error" << endl;
} else
{
print.PrintQueue(scan.GetQueue());
}
看到最后成功的输出也是感慨万分,刚开始什么都不懂,把所有类写在一起,然后编译过不去。后来在大神的指导下,一步步改掉了bug,同时给大神把把关,代码也简洁了许多,由于任务重,有些依赖他人,这点要自我反思,希望接下来的时间,能好好专研一下c++的相关内容,然后能够真正理解一些用法。