宿題の場合、リンクリストを作成する必要があり、それはテンプレートクラスである必要があります。割り当てでは、Listと呼ばれる1つのテンプレートクラスと、Linkと呼ばれる別のネストされたテンプレートクラスが必要です。
メソッドは、クラス定義の外部で定義する必要があります。
最初に簡単なバージョンの割り当てを作成しましたが、機能していますが、デザインにエラーがあるように感じます。
#include <iostream>
using namespace std;
template <class T1>
class A
{
public:
template <class T2>
class B;
T1 _a;
};
template <class T1>
template <class T2>
class A<T1>::B
{
public:
T2 _b;
};
int main()
{
A<int> a;
a._a = 5;
A<int>::B<int> b;
b._b = 10;
cout << a._a << " " << b._b << "\n";
return 0;
}
私の主な質問は、ステートメントからわかるように、ネストされたクラスは同じタイプになるので、A<int>::B<int> b;
クラスBを自動的にAと同じタイプにする方法はありますか?私の質問は意味がありますか?つまり、A<int>::B b;
Aと同じタイプを自動的に実行してbすることはできますか?A<double>::B<int>;
たとえば、私がそうするような状況は決してありません。