定义类A //需要传入参数的类
class A
{
public:
A(int x, int y);
print(void);
private:
int x_;
int y_;
}
实现类A
A::A(int x, int y):x_(x), y_(y){}
A:print()
{
cout << "x_ = " << x_ << " y_ = " << y_ << endl;
}
定义类B
class B
{
public:
B(void);
~B(void);
show(void);
private:
A* a_; // 将类A定义成私有成员
}
实现类B
B::B()
{
a_ = new A(1, 2); //对私有成员a_进行初始化;
}
B::~B()
{
if(nullptr != a_)
{
delete a_; // 析构的时候delete a_,注意一定要判断a_是否为空,如果a_为空时使用delete会导致错误
}
B::show()
{
a_->print();
}
}