1

私は現在 C++ を学んでおり (Koenig & Moo による Accelerated C++ を使って勉強しています)、最近、Windows で MS Visual C++ を理解することに決めました。以前は、vim と G++ のみを使用して、すべてのプログラミングを Linux で行っていました。クラスを実装したいのですが、特別なことは何もありません。Vec という本からのサンプル クラスだけです。ビジュアル C++ でこれを行ったことはありません。だから、私は「新しいプロジェクト」 - >「クラスライブラリ」を選択しましたが、これに直面しています:

// Vec.h

#pragma once

using namespace System;

namespace Vec {

public ref class Class1
{
    // TODO: Add your methods for this class here.
};
}

さて、この本が特定の開発環境に固有のものではないことはわかっていますが、実際には、私がそこに見たものと同じものはありません. 次のようなヘッダー ファイルで定義されたクラスしか見たことがありません。

#ifndef VEC_H
#define VEC_H

class Vec {
public:
    // things here

private:
    // other things here
};

#endif

クラス ライブラリは別のものですか? それとも、私が読んでいる本は時代遅れですか? そして、何が起こっているのか、そして2つの定義がどのように違うのか、誰か教えてもらえますか?

4

2 に答える 2

3

.NETクラスライブラリを作成することを選択しました。Visual C ++は、.NETプログラムおよびライブラリに変換するC ++/CLIコードをコンパイルできます。それはほぼ間違いなくあなたが望むものではありません。

代わりに「Win32」プロジェクトタイプの1つ、おそらく「Win32コンソールアプリケーション」を選択して、標準のC++コードを含むプロジェクトを取得します。

新しいクラスが必要な場合は、[新しいプロジェクト]ダイアログを使用しないでください。[新しいファイル]ダイアログには、C ++ヘッダー、ソースファイル、およびその他の便利なもののテンプレートのオプションがあります。

于 2012-11-05T20:29:30.457 に答える
3

.NETFrameworkを使用するC++/ CLIテンプレート(:を参照ref class)を選択しました。それは文字通り完全に異なる言語です。

個人的には、DLLまたは単純なexeファイル(MFC UIのようなものを作成する場合は、テンプレートを使用して意味のないボイラープレートコードをすべて追加するため、「単純」と言います)に常に空のプロジェクトを選択し、ファイルを追加します/必要に応じて構成します。

于 2012-11-05T20:29:45.347 に答える