#include <iostream>
using namespace std;
template <class T>
class C1
{
public:
int n;
C1(int a)
{
n=a;
}
T mat[50][50];
void readmat()
{
int i,j;
for(i=1; i<=n; i++)for(j=1; j<=n; j++)cin>>mat[i][j];
}
void showmat()
{
int i,j;
for(i=1; i<=n; i++)
{
cout<<endl;
for(j=1; j<=n; j++)cout<<mat[i][j]<<" ";
}
}
};
template <class T>
class C2: public C1<T>
{
C2(int a): C1(a) {};
};
Immer, wenn ich es laufen lasse, erhalte ich die Fehlermeldung:C++ Template-Klasse Vererbung
In constructor C2::C2(int)':
error: class 'C2' does not have a field named 'C1'
Wenn mir jemand erklären könnte, was ich falsch gemacht habe, würde ich meistens es zu schätzen wissen.
'C2 (int a): C1 (a) {};' sein sollte 'C2 (int a): C1 (a) {} ; ' –
Könnten Sie bitte auch meinen Beitrag beantworten? –