Tôi muốn thực hiện chính việc thay đổi chính này. Có thể chuyên gì đó dựa trên lớp cơ sở của nó không? Tôi cũng mong là như vậy.Chuyên môn về mẫu dựa trên lớp kế thừa
-edit-
Tôi sẽ có một số lớp kế thừa từ SomeTag. Tôi không muốn viết cùng chuyên môn cho mỗi người.
class SomeTag {};
class InheritSomeTag : public SomeTag {};
template <class T, class Tag=T>
struct MyClass
{
};
template <class T>
struct MyClass<T, SomeTag>
{
typedef int isSpecialized;
};
int main()
{
MyClass<SomeTag>::isSpecialized test1; //ok
MyClass<InheritSomeTag>::isSpecialized test2; //how do i make this specialized w/o changing main()
return 0;
}
Tâm lởn vởn! Tôi đoán điểm của hàm 'No' không xác định là ..... – John
Đẹp. Tôi chỉ có một câu hỏi đơn giản, thực sự ngu ngốc - có một lý do nào đó mà 'class Yes' được khai báo là' No no [3] 'thay vì, nói, 'No no [2]'? Tôi cho rằng điều đó cũng có hiệu quả nhưng tôi có thể thiếu một cái gì đó quan trọng ... –