模板类中子类调用父类的函数找不到定义的问题

模板类中子类调用父类的函数找不到定义的问题,第1张

1.问题:

在邓俊辉的数据结构c++版中的第四章,要继承向量类:

按照书上的代码,发现找不到函数的定义(ctrl+鼠标单击无法跳转到定义),也就是说,在子类中按如下方式直接调用父类函数时,会找不到函数定义:

函数名();
2.解决方法

当一个类继承另一个类,调用父类的函数,应该使用

父类<T>::函数名();

或者:

this->函数名();//this.函数名()不能实现调用

但是,后一种方式不能进行跳转(ctrl+鼠标点击后不会跳转到定义处,但是可以正常运行)

实例:

template <typename T>
class VectorX {
public:
	Rank _size=3;
	//只读访问接口
	Rank aaaa() const { return _size; };
};

template <typename T>
class Stack : public VectorX<T> {
public:
	void push(T const& e) {
		Rank x = VectorX<T>::aaaa();
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1498562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-25
下一篇 2022-06-25

发表评论

登录后才能评论

评论列表(0条)

保存