C++ C++;子类参数化类,并将子类用作专门化
我想要这样的东西:C++ C++;子类参数化类,并将子类用作专门化,c++,templates,inheritance,C++,Templates,Inheritance,我想要这样的东西: class TestParent<class T> { T* some(); } class TestChild : public TestParent<TestChild> {}; 类TestParent { T*some(); } 类TestChild:公共TestParent {}; 这可能吗 谢谢。绝对感谢!此技术通常用于高级技术,如或实现。如果你做高级C++编程,你会看到很多。此技术通常用于高级技术,如或实现。你可以看到很多,如
class TestParent<class T>
{
T* some();
}
class TestChild : public TestParent<TestChild>
{};
类TestParent
{
T*some();
}
类TestChild:公共TestParent
{};
这可能吗
谢谢。绝对感谢!此技术通常用于高级技术,如或实现。如果你做高级C++编程,你会看到很多。此技术通常用于高级技术,如或实现。你可以看到很多,如果你做高级C++编程。 这是可能的,但是只有当你定义了一个代码的实现>一些< /代码>否则你会面临编译错误。您可能还希望添加一个受保护的构造函数,以便在头作用域中定义基类的方式之外不能创建和使用基类
template<typename T>
class TestParent{
public:
T* some() { return new T(); }
//this is suggested
protected:
TestParent(){}
};
class TestChild : public TestParent<TestChild>{}
模板
类TestParent{
公众:
T*some(){返回新的T();}
//建议这样做
受保护的:
TestParent(){}
};
类TestChild:公共TestParent{}
这在Alexandrescu's流行的和其他技术中使用。这是可能的,但前提是您定义了
某些
的实现,否则您将面临编译错误。您可能还希望添加一个受保护的构造函数,以便在头作用域中定义基类的方式之外不能创建和使用基类
template<typename T>
class TestParent{
public:
T* some() { return new T(); }
//this is suggested
protected:
TestParent(){}
};
class TestChild : public TestParent<TestChild>{}
模板
类TestParent{
公众:
T*some(){返回新的T();}
//建议这样做
受保护的:
TestParent(){}
};
类TestChild:公共TestParent{}
这在Alexandrescu的流行的和其他技术中使用。当然你指的是
模板类TestParent
?当然你指的是模板类TestParent
?