我很新的C++在这个题目对我来说有点太技术等等其他职位。当我尝试编译我的代码时,出现未解析的外部符号错误。新到C++:未解决的错误
这里是我的.h文件:
#pragma once
#include <string>
using namespace std;
class Item
{
private:
string description;
double price;
int weight;
int quantity;
public:
Item(void);
~Item(void);
Item(double OrderPrice, int OrderWeight, string Description);
void setOrderPrice(double amount);
void setOrderWeight(int ounces);
void setDescription(string desc);
void setQuantity(int number);
int getOrderPrice();
int getOrderWeight();
string getDescription();
int getQuantity();
void show();
};
这是我的.cpp文件:
#include <iostream>
#include <string>
#include "Item.h"
using namespace std;
Item::Item(void)
{
}
Item::~Item(void)
{
}
void Item::setOrderPrice(double amount) {
price = amount;
}
void Item::setOrderWeight(int ounces) {
weight = ounces;
}
void Item::setDescription(string desc) {
description = desc;
}
void Item::setQuantity(int number) {
quantity = number;
}
int Item::getOrderPrice() {
return price;
}
int Item::getOrderWeight() {
return weight;
}
string Item::getDescription() {
return description;
}
int Item::getQuantity() {
return quantity;
}
void Item::show() {
cout << price << weight << description;
}
最后包含文件我的主:
#include <iostream>
#include <string>
#include "Item.h"
using namespace std;
int main() {
double dTotalPrice = 0.0;
int iTotalWeight = 0;
Item itmMouse(24.99, 14, "Wireless Mouse");
Item itmKeyboard(22.49, 27, "USB Keyboard");
Item itmHDMI (24.99, 12, "HDMI Cable");
Item itmGlasses(7.99, 7, "Reading Glasses");
itmGlasses.setQuantity(2);
// Show the details of the order using printDetails()
cout << "Here are your shopping cart contents.\n";
itmMouse.show();
itmKeyboard.show();
itmHDMI.show();
itmGlasses.show();
// Compute the total price and total weight in this section
dTotalPrice += itmMouse.getOrderPrice();
dTotalPrice += itmKeyboard.getOrderPrice();
dTotalPrice += itmHDMI.getOrderPrice();
dTotalPrice += itmGlasses.getOrderWeight();
iTotalWeight += itmGlasses.getOrderPrice();
iTotalWeight += itmKeyboard.getOrderWeight();
iTotalWeight += itmHDMI.getOrderWeight();
iTotalWeight += itmGlasses.getOrderWeight();
// Here we show the order details
cout << "The price of your order is $ " << dTotalPrice << endl;
cout << "The shipping weight is " << iTotalWeight << " ounces\n";
cout << "That is " << iTotalWeight/16 << " pounds\n";
return 0;
}
我的错误得到的是:
error LNK2019: unresolved external symbol "public: __thiscall Item::Item(double,int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" ([email protected]@[email protected]?$basic_stri[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@@Z) referenced in function _main
请让我知道(在非技术术语成为可能),我在做什么错误,以及如何解决它。预先感谢您的帮助!对此,我真的非常感激!
你已经为你的头一个构造函数,你还没有实现。 –
不是你写的功能相匹配的原型'项目(双OrderPrice,INT OrderWeight,字符串描述);' – Nbr44
如果你是很新的C++,那么我会建议你去通过一个像样的书和网上的参考彻底:) – 0decimal0