我無法調用模板基類的模板賦值運算符重載方法。這是我到目前爲止有:模板基類的模板運算符重載
BaseClass.h:
template<typename T>
class BaseClass
{
template<typename U>
BaseClass<T>& operator=(const BaseClass<U>& o)
{
return *this;
};
};
ChildClassInt.h:
#include "BaseClass.h"
class ChildClassInt : public BaseClass<int>
{
};
ChildClassFloat.h:
#include "BaseClass.h"
class ChildClassFloat : public BaseClass<float>
{
};
的main.cpp:
#include "ChildClassInt.h"
#include "ChildClassFloat.h"
int main()
{
const ChildClassFloat floatClass;
ChildClassInt intClass;
return 0;
}
如何調用operator=()
方法intClass
並將其傳遞floatClass
?
你可能意思是'return * this;'我猜? –
您的賦值操作符不執行任何操作。 – Snps
這是你在找什麼 - 'intClass.BaseClass :: operator =(floatClass);'? –
Praetorian