C ++新手:从实现学习单独的接口并得到错误:VSCode中的二进制表达式的操作数无效
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C ++新手:从实现学习单独的接口并得到错误:VSCode中的二进制表达式的操作数无效相关的知识,希望对你有一定的参考价值。
我正在学习单独的接口与C ++中的实现,并得到错误。
搜索它,但不知道我应该如何在我的代码中实现这一点。我需要你的帮助才能理解这个错误并更正我的代码。
InvoiceClass.h:
#include<string>
using namespace std;
class InvoiceClass{
private:
int price;
int quantity;
string partName;
string partDescription;
public:
InvoiceClass(string, string, int, int);
void displayInvoice();
void setDetail(string, string, int, int);
};
InvoiceClass.cpp:
#include<iostream>
#include"InvoiceClass.h"
using namespace std;
// Constructor function.
InvoiceClass::InvoiceClass(string partName, string partDescription, int qty, int price){
price = price;
quantity = qty;
partName = partName;
partDescription = partDescription;
}
void InvoiceClass::setDetail(string partName, string partDescription, int qty, int price){
price = price;
quantity = qty;
partName = partName;
partDescription = partDescription;
}
void InvoiceClass::displayInvoice(){
cout<<"Invoice"<<endl;
cout<<"Item "<<"Desc "<<"QTY "<<"Price"<<endl;
cout<<partName<<" "<<partDescription<<" "<<quantity<<" "<<price<<endl;
}
main.cpp中:
#include<iostream>
#include"InvoiceClass.h"
using namespace std;
// Main function
int main(){
InvoiceClass customer("iMac", "By Apple", 1, 219000);
cout<<customer.displayInvoice()<<endl;
}
它应该打印displayInvoice()的输出。请帮我。
答案
当你这样做时,你的功能不会返回
cout<<customer.displayInvoice()
你基本上说显示我的函数返回的内容,我认为你不想这样做
int main(){
InvoiceClass customer("iMac", "By Apple", 1, 219000);
customer.displayInvoice();
}
另外:在你的构造函数中
编译器在构造函数输入中的“价格”与类的变量价格与其他变量相同之间混淆,因此您必须使用“this”来消除这种混淆
InvoiceClass::InvoiceClass(string partName, string partDescription, int qty, int price) {
this->price = price;
quantity = qty;
this->partName = partName;
this->partDescription = partDescription;
}
setDetail函数中的问题相同
以上是关于C ++新手:从实现学习单独的接口并得到错误:VSCode中的二进制表达式的操作数无效的主要内容,如果未能解决你的问题,请参考以下文章