Errors 运行此程序时,我一直收到错误。这些错误意味着什么?附上截图。 这就是问题所在:
具有两个私有变量成员的类Area;字符串类型的单位和float类型的area_value。
1)从键盘输入area_value及其单位。计算该区域的一半和四分之一,并以单位显示结果。 2)最后销毁动态变量。
#include <iostream
#include <string>
using namespace std;
class Area
{
public:
Area();
void setu(string a);
void seta(float b);
string getu();
float geta();
private:
string unit;
float area_value;
};
int main()
{
Area *p = new Area();
string a;
float f;
cout << "Enter a unit with no space: ";
getline(cin, a);
p->setu(a);
cout << "Enter a value of area: ";
cin >> f;
p->seta(f);
cout << "A half of your input = " << f / 2 << endl;
cout << "A quarter of your input = " << f / 4 << endl;
delete p;
return 0;
}
答案 0 :(得分:1)
看起来像
答案 1 :(得分:1)
您似乎忘了实现构造函数Area()和Area类的方法。
答案 2 :(得分:0)
第一个包含缺少大于号(&gt;)。公共Area类仅定义函数,而不是实现它们。变量p被定义为指针。
您还可以添加一半和四分之一作为功能。我稍微修改了它,所以用clang ++ -Wall -std = c ++ 11 -o area area.cpp编译。
#include <iostream>
#include <string>
using namespace std;
class Area {
public:
Area() {};
~Area() {};
void setu(string u) { unit = u; }
void seta(float a) { area_value = a; }
string getu() { return unit; }
float geta() { return area_value; }
float getHalf() { return area_value / 2; }
float getQuarter() { return area_value / 4; }
private:
string unit;
float area_value;
};
int main() {
Area p {};
string a;
float f;
cout << "Enter a unit with no space: ";
getline(cin, a);
p.setu(a);
cout << "Enter a value of area: ";
cin >> f;
p.seta(f);
cout << "A half of your input = " << p.getHalf() << endl;
cout << "A quarter of your input = " << p.getQuarter() << endl;
return 0;
}