(1)写一个含有数据成员a 的类C并用两种方法初始化 a。 (2)写一个含有类型为C的数据成员c的类B并用两种方法 初始化c。 (3)在主函数中 ①创建B类的堆对象并用118 初始化之。 ②创建B类的堆对象数组,元素个数由键盘输入决定。 ③释放上面创建的堆对象和堆对象数组。
时间: 2023-05-29 12:03:12 浏览: 81
C语言常见问题-数组初始化的四种方法.docx
(1):
```cpp
class C {
public:
int a;
C() { a = 0; } // 方法1:默认构造函数初始化为0
C(int n) { a = n; } // 方法2:带参数的构造函数初始化为n
};
```
(2):
```cpp
class B {
public:
C c;
B() {} // 方法1:默认构造函数不初始化c(由C的默认构造函数初始化为0)
B(int n) : c(n) {} // 方法2:带参数的构造函数初始化c为n
};
```
(3):
```cpp
int main() {
// 创建B类的堆对象并用118初始化之
B* b1 = new B(118);
// 创建B类的堆对象数组,元素个数由键盘输入决定
int n;
cin >> n;
B* bArr = new B[n];
for (int i = 0; i < n; i++) {
bArr[i].c.a = i; // 初始化c的a成员为i
}
// 释放堆对象和堆对象数组
delete b1;
delete[] bArr;
return 0;
}
```
阅读全文