在主函数中,创建一个 Card 类的指针数组,并分别初始化为 OldCard、StudentCard 和 NormalCard 类的对象。读入用户输入的卡类型,根据不同的卡类型显示不同的卡类,并调用相应的刷卡消费函数。
时间: 2023-09-18 20:06:17 浏览: 74
### 回答1:
在主函数中,你可以这样创建一个 Card 类的指针数组:
```
Card* cards[3];
cards[0] = new OldCard;
cards[1] = new StudentCard;
cards[2] = new NormalCard;
```
然后读入用户输入的卡类型,并使用 switch 语句判断不同的卡类型。
```
int cardType;
cin >> cardType;
switch (cardType) {
case 1:
cout << "OldCard" << endl;
cards[0]->swipeCard();
break;
case 2:
cout << "StudentCard" << endl;
cards[1]->swipeCard();
break;
case 3:
cout << "NormalCard" << endl;
cards[2]->swipeCard();
break;
default:
cout << "Invalid card type" << endl;
break;
}
```
这样,当用户输入的卡类型为 1、2 或 3 时,程序就会分别输出 "OldCard"、"StudentCard" 或 "NormalCard",并调用相应卡类的刷卡消费函数。
注意:这里的代码是示例代码,并没有考虑实际情况中的各种错误处理和异常情况。在实际开发中,你需要根据实际情况编写完整的代码。
### 回答2:
在主函数中,我们可以先创建一个 Card 类的指针数组,代码如下:
```cpp
Card* cards[3];
```
然后我们分别初始化为 OldCard、StudentCard 和 NormalCard 类的对象,代码如下:
```cpp
cards[0] = new OldCard();
cards[1] = new StudentCard();
cards[2] = new NormalCard();
```
接下来,我们可以读入用户输入的卡类型,代码如下:
```cpp
int cardType;
cout << "请选择卡的类型(1-老人卡,2-学生卡,3-普通卡):";
cin >> cardType;
```
然后,根据不同的卡类型显示不同的卡类,并调用相应的刷卡消费函数,代码如下:
```cpp
switch (cardType) {
case 1:
cout << "您选择了老人卡。" << endl;
cards[0]->consume();
break;
case 2:
cout << "您选择了学生卡。" << endl;
cards[1]->consume();
break;
case 3:
cout << "您选择了普通卡。" << endl;
cards[2]->consume();
break;
default:
cout << "输入无效,请重新选择。" << endl;
}
```
最后,记得释放内存,避免内存泄漏,代码如下:
```cpp
for (int i = 0; i < 3; i++) {
delete cards[i];
}
```
这样就完成了根据用户输入的卡类型显示不同的卡类,并调用相应的刷卡消费函数的过程。
### 回答3:
在主函数中,首先创建一个 Card 类的指针数组,用于存储不同类型对象的地址。然后,分别初始化为 OldCard、StudentCard 和 NormalCard 类的对象,即将这三个对象的地址分别存储到指针数组中。
然后,读入用户输入的卡类型,可以通过使用 cin 进行输入操作。根据用户的输入结果,判断是哪种类型的卡,并通过条件语句进行判断和处理。例如,如果用户输入的是 "OldCard",就显示出老年卡的信息,并调用 OldCard 类中的刷卡消费函数。
根据不同的卡类型显示不同的卡类,可以通过调用相应类型的对象中的成员函数来实现。例如,如果用户输入的是 "StudentCard",就显示学生卡的信息,并调用 StudentCard 类中的刷卡消费函数。
调用相应的刷卡消费函数可以通过使用指针数组中所存储的对象地址。根据用户输入的卡类型,在指针数组中找到对应的对象地址,并通过访问对象成员函数来调用相应的刷卡消费函数。例如,如果用户输入的是 "NormalCard",就根据输入结果在指针数组中找到 NormalCard 对象的地址,并调用 NormalCard 类中的刷卡消费函数。
综上所述,在主函数中创建一个 Card 类的指针数组,并分别初始化为 OldCard、StudentCard 和 NormalCard 类的对象。读入用户输入的卡类型,在指针数组中找到对应的对象地址,并根据不同的卡类型显示不同的卡类,并通过调用相应的刷卡消费函数。