Tôi tự hỏi có cách nào để đặt hạn chế đối với lớp mẫu không?
Chỉ định rằng mọi loại được thay thế trong mẫu phải có tổ tiên cụ thể (nhận ra một số giao diện).Hạn chế mẫu C++
template < class B > //and every B must be a child of abstract C
class A {
public:
B * obj;
int f() {
return B::x + this->obj->f();
}
};
Giống như => trong Haskell
func :: (Ord a, Show b) => a -> b -> c
Tại sao bạn nghĩ bạn cần điều này? – fredoverflow
có thể trùng lặp của [mẫu lớp C++ của baseclass cụ thể] (http://stackoverflow.com/questions/2012950/c-class-template-of-specific-baseclass) – SLaks
sooooo không phải là câu hỏi mới bắt đầu :-). Các khái niệm thực sự khá gây tranh cãi. –