我正在学习大学中的继承,我被赋予了一个创建一个Product指针数组(基类)的任务,并用Software或Book对象(派生类)填充它
我做了所有这些没有任何问题(禁止我们应该得到的切片问题)
数组填满后,我们被要求按升序排序。
我做了一些研究并决定使用std::sort() function
我的问题是我遇到了访问冲突错误,已经很晚了,我很累,我忽略了一些明显的东西吗?
我遗漏了很多代码,如果我需要包含任何帮助解决方案的内容,请告诉我。
bool wayToSort(Product *i, Product *j)
{
return i->getGrossPrice() < j->getGrossPrice();
}
int main(){
Product *prodPtr[10];
// Sort Product array
std::sort(begin(prodPtr), end(prodPtr), wayToSort);
for (int i = 0; i < 3; i++){
cout << "Gross price for prod " << i + 1 << ": " << prodPtr[i]->getGrossPrice() << endl;
}
}
访问冲突在getGrossPrice()函数中 Product.cpp
double Product::getGrossPrice(){
double grossPrice = (netPrice * 21 / 100) + netPrice;
return grossPrice;
}