1、一个C++头文件
// SignalLamp.h : PROJECT_NAME 应用程序的主头文件
//
#pragma once
问题一:“#pragma once”是什么意思呢???“once”这是什么参数呢???
//定义头文件标示
#ifndef __AFXWIN_H__
#error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"
#endif
问题二:“__AFXWIN_H__”这是什么标示呢?代表这一个“头文件”吗???
#include "resource.h" // 主符号
问题三:“resource.h”这是资源文件头文件对吧???
// CSignalLampApp:
// 有关此类的实现,请参阅 SignalLamp.cpp
//
class CSignalLampApp : public CWinApp
问题四:“CWinApp”是什么父类,是入口程序吗???
{
public:
CSignalLampApp();
// 重写
public:
virtual BOOL InitInstance();
问题五:重写“InitInstance”这个方法的作用是什么???
// 实现
DECLARE_MESSAGE_MAP()
问题六:“DECLARE_MESSAGE_MAP”是类中的一个方法吧???
};
extern CSignalLampApp theApp;
问题七:“extern”的作用是什么???这里是实例化一个对象???
附加问题:
“#define DECLARE_MESSAGE_MAP() \”中“\”是什么意思呢???
“extern”声明实例化的对象???
“virtual BOOL InitInstance();”重载“CWinApp”的“InitInstance()”函数,也就是启动应用程序进行初始化时,重这里开始执行。是这样理解吗???
哎 年轻人嘛 ,可以理解。我来依依解答吧
1.pragma once 通俗点讲或者不严格的说就是只编译一次,这个就相当于C语言中的宏,用来避免重复编译
2.这个只是windows搞出来的东西,没必要去理会,要想深入理解可查看MSDN
3.是的
4.可以这么说,但不严格。需深入理解windows的消息机制
5.只是用来初始化
6.NO 这是消息映射。想要理解,必须要深入熟悉windows
7.extern是用来声明全局变量的关键字。extern CSignalLampApp theApp是一个全局对象
附加问题:不是这样理解。你需要花点时间去学习windows的一些机制。这并不是问几个问题就能明白的。你自己需要花一年或者两年时间才能摸得清楚一些
祝你好运吧
不会google吗?