创建一个包含两个类a和B的程序,这样:a)每个类都应该有一个构造函数和一个析构函数。b) 在类b中定义一个字段变量,该变量是类a的对象类型c)在主函数中定义类b的对象,表明该对象可以访问类a的构造函数和析构函数。
时间: 2024-02-13 20:06:52 浏览: 78
面向对象程序设计B (构造函数与析构函数 )
好的,下面是代码实现:
```
#include<iostream>
using namespace std;
class A {
public:
A() {
cout << "A constructor called" << endl;
}
~A() {
cout << "A destructor called" << endl;
}
};
class B {
private:
A objA;
public:
B() {
cout << "B constructor called" << endl;
}
~B() {
cout << "B destructor called" << endl;
}
};
int main() {
B objB;
return 0;
}
```
在这个程序中,我们定义了两个类 `A` 和 `B`,每个类都有一个构造函数和一个析构函数。在类 `B` 中,我们定义了一个名为 `objA` 的私有变量,它是类 `A` 的一个对象。在主函数中,我们定义了一个名为 `objB` 的类 `B` 对象,它可以访问类 `A` 的构造函数和析构函数。
当我们运行这个程序时,会输出以下结果:
```
A constructor called
B constructor called
B destructor called
A destructor called
```
这表明,当我们创建 `objB` 对象时,会先调用类 `A` 的构造函数,然后调用类 `B` 的构造函数。当程序结束时,会先调用类 `B` 的析构函数,然后调用类 `A` 的析构函数。
阅读全文