如何传递范围指针而不是这个指针?

时间:2014-03-27 08:48:52

标签: c++ qt

我有两节课。在类A构造函数中,我调用类B的构造函数。但是,在创建类B对象时,我想传递类A对象的QSCOPED指针。简而言之,我想要传递QSCOPED指针而不是这个指针。我怎么能这样做?

class B;
class A
{

 class A();

};

A::A()
{
  QScopedPointer<B> m_p_B( new B(this));
}

我的要求是,我想传递类this的QSCOPED指针,而不是传递A指针。基本上是this指针的QSCOPED指针。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

这样的事情:

不需要在构造函数中传递QScopedPointer,它将在初始化列表中创建。

#include<QScopedPointer>

class B
{
public:
    B(A* a) : ma(a) {}

private:
    QScopedPointer<A> ma;
}