【问题标题】:C++. Namespaces and classes [closed]C++。命名空间和类[关闭]
【发布时间】:2012-01-19 11:09:04
【问题描述】:

我在 PopCap 框架的帮助下开发了一款游戏。 我在演示中找到了这个标题:

#ifndef __BOARD_H__
#define __BOARD_H__
#include "SexyAppFramework/Widget.h"
namespace Sexy
{
    class Graphics;
    class GameApp;
    class Board : public Widget
    {
        private:
        GameApp*    mApp;
        public:
        Board(GameApp* theApp);
        virtual ~Board();
        virtual void Draw(Graphics* g);
        virtual void Update();
    };
}
#endif // __BOARD_H__

以下是什么意思?

namespace Sexy
{
}

我猜它的意思和

一样
using namespace Sexy;

但是对于大括号内的代码,是这样吗?

这是什么意思?

class Graphics;
class GameApp;

【问题讨论】:

  • 这里有人要抢a good C++ book...
  • 声明会很有趣:Sexy::Graphics object;
  • __BOARD_H__ 是保留标识符,您应该删除前导下划线。

标签: c++ class namespaces


【解决方案1】:
namespace X {code}  

表示 {} 中的代码在命名空间 X 中。

using namespace X; 

意味着编译器应该查找您在命名空间 X 中使用的名称。

http://www.cplusplus.com/doc/tutorial/namespaces/

class Graphics;
class GameApp;

forward declarations

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    相关资源
    最近更新 更多