これはコードです。コンストラクタが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クラスのコンストラクタを実行します。 しかし、それはItemクラスのコンストラクタを実行します。 コードを何度もチェックしてリサーチを行いましたが、コードでは間違っているようです。 私はGCCコンパイラ(MingGW)でCodeBlocks IDEを使用しています。 誰かが私を助けることができれば感謝します。おかげさまで
研究の?あなたは何を見つけましたか?何を試しましたか? –
'Order'は、' Order'のコンストラクタの本体が動作する前に構築される20個の 'Item'の配列を含んでいます。 –
通常、コンストラクタでユーザーとのやりとりを行うことはお勧めできません。 – molbdnilo