tôi là lập trình viên mới trong C++. và tôi đang sử dụng các mẫu cho lần đầu tiên.thừa kế mẫu C++
tôi có lớp trừu tượng và một lớp khác mở rộng nó. nhưng tất cả các thành viên protected của lớp trừu tượng không được công nhận bởi các lớp khác:
class0.h:
template<class T>
class class0 {
protected:
char p;
public:
char getChar();
};
**class1.h**
template<class T>
class class1:public class0<T> {
public:
void printChar();
};
template<class T>
void class1<T>::printChar(){
cout<< p<<endl;//p was not declared in this scope
}
cảm ơn bạn. có một tuần tuyệt vời =)
Các lớp cơ sở của bạn cần có trình phá hủy ảo công khai hoặc một trình phá hủy không ảo/được bảo vệ. – GManNickG
BTW, lớp nào trừu tượng trong điều này? – Chubsdad