作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我的 win32 问题如下:有 2 个类:A 类和嵌套的 B 类。每个类都有一个 HWND 成员。我想在调用构造函数之前初始化 A 和 B HWND 成员。我的意思是:
class A {
HWND hwnd_main;
B b;
public:
A(HWND hwnd) : hwnd_main(hwnd), B(hwnd) {}
};
class B {
HWND hwnd_main;
public:
B(HWND hwnd)
{
hwnd_main = hwnd;
}
};
用这个方案调用类“B”的构造函数的东西。不专门调用它来填充“B”的构造函数不是一种方法吗?谢谢。
最佳答案
这里不是嵌套类,而是一个 aggregate类(class)。这里也不涉及继承(class B
不是 A
的直接基类),所以你不能直接调用 class B
的构造函数class A
的构造函数并初始化其变量。
相反,您必须初始化变量 b
,它是 class A
的成员,如下所示:
A(HWND hwnd) : hwnd_main(hwnd), b(hwnd) {}
关于c++ - 如何在 C++ 的嵌套类中初始化 2 个成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53146387/
我是一名优秀的程序员,十分优秀!