-4
#include <iostream>
#include <string>
using namespace std;
template <typename T>
class A
{
public:
A()
{
OverrideMe();
}
virtual ~A(){};
virtual T OverrideMe()
{
throw string("A.OverrideMe called");
}
protected:
T member;
};
class B : public A<double>
{
public:
B(){};
virtual ~B(){};
virtual double OverrideMe()
{
throw string("B.OverrideMe called");
}
};
int main()
{
try
{
B b;
}
catch(string s)
{
cout << s << endl; //this prints: A.OverrideMe called
}
return 0;
}
Что вы хотите от этого сделать? Что он делает в настоящее время? – chris
Методы защищены, поэтому вы не можете называть их главным. Это не тот код, который вы используете. – juanchopanza
Здесь - http://ideone.com/W2H9ZD - он печатает 'B.OverrideMe called'. Каков ваш компилятор? – borisbn