C++ でのジェネリック クラスの実装: テンプレート、指定された型のプレースホルダーを使用します。型パラメーターを指定して、ジェネリック クラスのインスタンスを作成します。ジェネリック クラスを使用すると、異なるデータ型に同じコードを使用できます。実際の応用: 汎用 StudentArray クラスを使用して、生徒の名前など、さまざまな種類のデータを保存および処理します。
ジェネリック クラスを使用すると、型パラメーターに基づいて、変更せずにさまざまなデータ型を使用できるコードを作成できます。 C++ でジェネリック クラスを実装する方法は次のとおりです。
#include <iostream> template <typename T> class GenericClass { public: GenericClass(T value) : val(value) {} void print() { std::cout << "Value: " << val << std::endl; } private: T val; };
この例では、 GenericClass
是一个泛型类,T
は型のプレースホルダーです。型パラメーターを指定して、ジェネリック クラスのインスタンスを作成できます。例:
GenericClass<int> intClass(10); GenericClass<std::string> strClass("Hello"); intClass.print(); // 输出:“Value:10” strClass.print(); // 输出:“Value:Hello”
実際のケース:
生徒の名前を含む配列を考えてみましょう。ジェネリック クラスを使用して、さまざまな種類のデータを保存および処理できます。例:
template <typename T> class StudentArray { public: StudentArray(size_t size) : arr(new T[size]) {} void add(T name, int index) { arr[index] = name; } void print() { for (size_t i = 0; i < size(); ++i) { std::cout << "Student " << (i + 1) << ": " << arr[i] << std::endl; } } size_t size() { return size_; } private: T* arr; size_t size_; }; int main() { StudentArray<std::string> names(5); names.add("John", 0); names.add("Jane", 1); names.add("Peter", 2); names.add("Susan", 3); names.add("Thomas", 4); names.print(); }
このコードは、5 つの文字列を含むジェネリック配列を作成します。生徒の名前を追加して印刷する機能があります。
以上がC++ でジェネリック クラスを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。