systemclass.h
class SystemClass
{
public:
SystemClass();
SystemClass(const SystemClass&);
~SystemClass();
bool Initialize();
void Shutdown();
void Run();
LRESULT CALLBACK MessageHandler(HWND, UINT, WPARAM, LPARAM);
private:
bool Frame();
void InitializeWindows(int&, int&);
void ShutdownWindows();
private:
LPCWSTR m_applicationName;
HINSTANCE m_hinstance;
HWND m_hwnd;
InputClass* m_Input;
GraphicsClass* m_Graphics;
};
systemclass.cpp
SystemClass::SystemClass()
{
m_Input = 0;
m_Graphics = 0;
}
SystemClass::SystemClass(const SystemClass& other)
{
}
SystemClass::~SystemClass()
{
}
我的问题是关于systemclass.h中的定义:
SystemClass(const SystemClass&);
我不记得曾见过“&”在这样的类名之后。是什么意思:
const SystemClass&
代码来自rastertek.com的C ++ DirectX11教程4。
答案 0 :(得分:6)
&
表示参数是通过引用而不是值传递的。您选择的特定成员恰好是复制构造函数,即复制值时调用的构造函数。如果不能通过值来获取它的参数,因为通过复制它会产生值......
类型const SystemClass&
(或将const
放入正确的位置SystemClass const&
)是对const
类型的SystemClass
对象的引用。< / p>