gpt4 book ai didi

c++ - 具有模板继承的纯虚函数

转载 作者:搜寻专家 更新时间:2023-10-31 02:12:54 25 4
gpt4 key购买 nike

<分区>

我正在尝试使用模板派生类来实现多态性。见下文:

//templated base class
template <class num> class A{
protected:
num x;
num y;

public:
A( num x0 = 0, num y0 = 0) {
x = x0;
y = y0;
}
virtual void print_self() = 0;

};

//derived class
template < class num > class B: public A < num > {
public:
B( num x1 = 0, num y1 = 0):shape < num > ( x1 , y1 ) { }
void print_self(){
std::cout << "x is " << x << " and y is " << y << endl;
}
};

基类有纯虚函数print_self()。当试图在派生类中定义函数时,我收到以下错误:

'x' was not declared in this scope

y 也一样。因此,即使派生类被列为 protected ,派生类也无法访问变量 x 和 y。

有没有其他方法可以定义 print_self(),或者这根本不可能?如果不可能,您能否建议另一种方法?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com