C++ 在C+中创建和实现类+;
在我的计算机科学课上,我们正在学习如何使用课堂来创建虚拟电气元件。。。我们需要创造五样东西;main()以及电气元件.h/.cpp、电阻器.h/.cpp、电容器.h/.cpp和电池.h/.cpp 我已经创建了Electrical component类,我知道如何创建和修复主函数中的任何错误,但是我在构建电阻器类时遇到了问题C++ 在C+中创建和实现类+;,c++,class,c++11,header,inline,C++,Class,C++11,Header,Inline,在我的计算机科学课上,我们正在学习如何使用课堂来创建虚拟电气元件。。。我们需要创造五样东西;main()以及电气元件.h/.cpp、电阻器.h/.cpp、电容器.h/.cpp和电池.h/.cpp 我已经创建了Electrical component类,我知道如何创建和修复主函数中的任何错误,但是我在构建电阻器类时遇到了问题 #include <iostream> #include "ElectronicComponent.h" class Resistor : public
#include <iostream>
#include "ElectronicComponent.h"
class Resistor :
public ElectronicComponent
{
public:
Resistor(double);
virtual ~Resistor();
virtual double getValue() const = 0;
virtual std::string getUnits() const = 0;
virtual std::string to_string() const = 0;
};
Resistor::Resistor(double v)
{
value = v;
}
std::string Resistor::to_string() const
{
return "Resistor value (" + std::to_string(value) + " " + units + ")";
}
#包括
#包括“Electronic Component.h”
等级电阻器:
公共电子元件
{
公众:
电阻器(双);
虚拟电阻();
虚拟双getValue()常量=0;
虚拟std::string getUnits()const=0;
虚拟std::string to_string()const=0;
};
电阻器:电阻器(双v)
{
值=v;
}
标准::串电阻::to_string()常数
{
返回“电阻值(“+std::to_字符串(值)+”+“+units+”)”;
}
我收到的错误是,名称空间std没有要_字符串的成员,并且我的变量值和单位未声明。我理解未声明变量的含义,但不理解to_字符串错误
这是我得到的关于这门课的所有信息:
电阻器类将通过文件电阻器.h和
电阻.cpp。电阻器类将公开继承自
电子元件。您需要实现一个析构函数和三个
虚拟函数getValue、getUnits和to_string。你还需要
一个构造函数,它接受一个输入参数,即
电阻。该值的类型为double。getValue函数需要
以双精度形式返回值。getUnits函数需要返回
“欧姆”作为标准::字符串
其余的类应该以同样的方式构建,因此理解一个类如何工作应该对我有很大帮助。谢谢。在标题中使用:
#include<string>
#包括
在标题中使用:
#include<string>
#包括
派生电阻器类中的函数不应指定为纯虚函数(以“=0”表示)。纯虚函数是基类中没有基类实现的函数。另外,假定您的getValue和getUnits函数在ElectronicComponent基类中不是纯虚拟的,但实际上在那里实现为:
double ElectronicComponent::getValue() const {
return value;
}
std::string ElectronicComponent::getUnits() const {
return units;
}
在这种情况下,在派生类中不需要它们。因此,派生的电阻器类应该如下所示:
#include <string>
#include "ElectronicComponent.h"
class Resistor : public ElectronicComponent
{
public:
Resistor(double);
virtual ~Resistor();
virtual std::string to_string() const;
};
Resistor::Resistor(double v) : units("Ohm(s)")
{
value = v;
}
std::string Resistor::to_string() const
{
return "Resistor value (" + std::to_string(value) + " " + units + ")";
}
#包括
#包括“Electronic Component.h”
类别电阻器:公共电子元件
{
公众:
电阻器(双);
虚拟电阻();
虚拟std::string to_string()常量;
};
电阻器:电阻器(双v):单位(“欧姆”
{
值=v;
}
标准::串电阻::to_string()常数
{
返回“电阻值(“+std::to_字符串(值)+”+“+units+”)”;
}
派生电阻器类中的函数不应指定为纯虚函数(以“=0”表示)。纯虚函数是基类中没有基类实现的函数。另外,假定您的getValue和getUnits函数在ElectronicComponent基类中不是纯虚拟的,但实际上在那里实现为:
double ElectronicComponent::getValue() const {
return value;
}
std::string ElectronicComponent::getUnits() const {
return units;
}
在这种情况下,在派生类中不需要它们。因此,派生的电阻器类应该如下所示:
#include <string>
#include "ElectronicComponent.h"
class Resistor : public ElectronicComponent
{
public:
Resistor(double);
virtual ~Resistor();
virtual std::string to_string() const;
};
Resistor::Resistor(double v) : units("Ohm(s)")
{
value = v;
}
std::string Resistor::to_string() const
{
return "Resistor value (" + std::to_string(value) + " " + units + ")";
}
#包括
#包括“Electronic Component.h”
类别电阻器:公共电子元件
{
公众:
电阻器(双);
虚拟电阻();
虚拟std::string to_string()常量;
};
电阻器:电阻器(双v):单位(“欧姆”
{
值=v;
}
标准::串电阻::to_string()常数
{
返回“电阻值(“+std::to_字符串(值)+”+“+units+”)”;
}
您是如何编译的?您是如何编译的?