c++ - 如何传递作用域指针而不是 this 指针?

标签 c++ qt

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

class B;
class A
{

 class A();

};

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

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

最佳答案

像这样:

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

#include<QScopedPointer>

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

private:
    QScopedPointer<A> ma;
}

关于c++ - 如何传递作用域指针而不是 this 指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22682388/

相关文章:

c++ - 在qt中的拆分器内调整网页大小

Qt5 - 将简单的 Qt Quick 应用程序移植到 Qt5。需要帮助

c++ - AAPCS(ARM ABI)下的C/C++结构填充有多稳定?

c++ - 写入文件时由 delete[] 引起的段错误

c++ - MFC中找到鼠标悬停的控件

swing - Qt 与 Swing : Similarities and Disimilarities?

c++ - Qt C++ - 如何获取 QPlainTextEdit 的当前行和列

qt - 如何通过 id 使用 ffmpeg 记录窗口?

采用继承类的 C++ 非类型模板参数

c++ - 在静态变量的构造函数中检索静态常量变量的值