App.hとApp.cpp

前回まででDirextX12のプロジェクトが作成されたが、
msdnのサンプルはDirextX11なのでこのまま進んで大丈夫だろうか。

App.hを簡単に見ておく。


ref class App sealed : public Windows::ApplicationModel::Core::IFrameworkView
{
public:
App();

//IFrameworkView メソッド.
virtual void Initialize(Windows::ApplicationModel::Core::CoreApplicationView^ applicationView);
virtual void SetWindow(Windows::UI::Core::CoreWindow^ window);
virtual void Load(Platform::String^ entryPoint);
virtual void Run();
virtual void Uninitialize();

まず”ref”ってのがわからない。独習C++にはのっていない機能だ。

NET Framework 専用のクラスを参照クラスといい、ref キーワードを用いて宣言する。
マネージクラスとも呼ばれる。
.NET専用にC++言語を拡張したわけなのでC++の教科書にはのっていないわけだ。

sealedキーワードはfinalのマネージクラス版のようだ。

AppはIFrameworkViewインターフェイスの実装をしている。

App.cppの中に
mainがある。


int main(Platform::Array^)
{
auto direct3DApplicationSource = ref new Direct3DApplicationSource();
CoreApplication::Run(direct3DApplicationSource);
return 0;
}

autoというのはC#でいうvarで型の指定を省略するものだ。

Post a comment or leave a trackback: Trackback URL.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です