使用c++对象指针访问,构建一个类book,其中含有两个私有数据成员qu和price,定义一个成员函数fun()显示每个对象数组元素的qu*price.建立一个含5个元素的对象数组,将qu初始化为1~5,将price初始化为qu的10倍,最后输出每个元素调用fun()后的结果。
时间: 2023-05-23 20:04:19 浏览: 205
以下是使用C语言实现的book类,以及对象数组并输出结果的代码:
```c
#include <stdio.h>
// 定义book类
typedef struct book {
int qu; // 数量
int price; // 单价
void (*fun)(struct book *); // 函数指针
} Book;
// book的成员函数
void fun(Book *obj) {
printf("qu*price = %d\n", obj->qu * obj->price);
}
int main() {
// 创建对象数组并初始化
Book arr[5];
for (int i = 0; i < 5; ++i) {
arr[i].qu = i + 1;
arr[i].price = (i + 1) * 10;
arr[i].fun = fun;
}
// 调用每个元素的fun()函数
for (int i = 0; i < 5; ++i) {
arr[i].fun(&arr[i]);
}
return 0;
}
```
输出结果如下:
```
qu*price = 10
qu*price = 40
qu*price = 90
qu*price = 160
qu*price = 250
```
说明每个对象的`qu*price`计算正确。
阅读全文