(1)写一个含有数据成员a的类C并用两种方 法初始化a的值。 (2)在主函数中: ①定义由5个类C的对象构成的一维数组, 并把这 5 个对象的数据成员 a 分别初始化为 2 1~25。 ②定义由指向5个类C的对象的指针构成的一维数组,让这5个指针分别指向①中定义的数组中的5个对象。 ③用循环语句显示②中定义的5个对象指针指 向的对象的数据成员a的值。 ④定义一个指向类C的对象的指针并用①中定义的数组首元素的地址初始化它,用它和循环语句显示①中定义的5个对象的数据成员a的值。
时间: 2023-05-29 14:03:04 浏览: 61
(1)代码:
```c++
class C {
private:
int a;
public:
C() {} // 默认构造函数
C(int x) : a(x) {} // 带参构造函数
};
```
(2)代码:
```c++
int main() {
// 定义5个对象并初始化
C obj1(2), obj2(1), obj3(3), obj4(4), obj5(25);
C arr[] = { obj1, obj2, obj3, obj4, obj5 }; // 定义数组并初始化
// 定义5个指针并分别指向数组中的5个对象
C* ptrArr[5] = { &arr[0], &arr[1], &arr[2], &arr[3], &arr[4] };
// 输出5个对象的数据成员a的值
for (int i = 0; i < 5; i++) {
cout << ptrArr[i]->a << " ";
}
cout << endl;
// 定义一个指向类C的对象的指针并初始化
C* ptr = &arr[0];
// 输出5个对象的数据成员a的值
for (int i = 0; i < 5; i++) {
cout << ptr->a << " ";
ptr++; // 指向下一个对象
}
cout << endl;
return 0;
}
```
输出:
```
2 1 3 4 25
2 1 3 4 25
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)