Это код.Конструктор не вызывается в C++
#include<iostream>
using namespace std;
class Item{
double itemPrice;
int qty;
public:
Item(){
cout<<"Enter Item Price : "<<endl;
cin>>itemPrice;
cout<<"Enter QTY : " <<endl;
cin>>qty;
}
double getItemTotal(){
return itemPrice*qty;
}
};
class Order{
int index;
int orderId;
double orderValue;
Item items[20];
public:
Order(){
index=0;
cout<<"\nEnter Order ID : ";
cin>>orderId;
}
void viewOrderDetails(){
for(int j=0;j<20;j++){
Item ii=items[j];
orderValue=orderValue+ii.getItemTotal();
}
cout<<"Order ID : "<<orderId<<endl;
cout<<"Order Value : "<<orderValue<<endl;
}
void addToOrder(Item i){
if(index<19){
items[index]=i;
index=index+1;
}else{
cout<<"\nOrder Full";
}
}
};
int main(){
Order odr1;
Item i1;
Item i2;
odr1.addToOrder(i1);
odr1.addToOrder(i2);
odr1.viewOrderDetails();
return 0;
}
Я хочу запустить конструктор класса Order. Но он запускает класс «Конструктор класса». Я проверил код много раз и сделал исследование. Но я не могу ошибаться в коде. Я использую CodeBlocks IDE с компилятором GCC (MingGW). Я ценю, если кто-нибудь может мне помочь в этом. Спасибо.
Исследование? Что ты нашел? Что вы пробовали? –
'Order' содержит массив из 20' Item', которые создаются перед тем, как выполняется тело конструктора 'Order'. –
Как правило, не рекомендуется иметь какое-либо взаимодействие с пользователем в конструкторе. – molbdnilo