作业帮 > 综合 > 作业

C++ 不是说要访问类中的函数必须要有对象吗(非静态函数) 怎么下面这个可以这样写?已通过测试了的

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/10/06 15:24:04
C++ 不是说要访问类中的函数必须要有对象吗(非静态函数) 怎么下面这个可以这样写?已通过测试了的
// Problem#:5321
// Submission#:1403759
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#include
#include
using namespace std;
template
class Stack :public vector
{
public:
Stack()
{
vector::clear();
}
bool empty()
{
return vector::empty();
}
T peek()
{
return vector::back();
}
void push(T value)
{
vector::push_back(value);
}
T pop()
{
T th=vector::back();
vector::pop_back();
return th;
}
int getSize()
{
return vector::size();
}
};
C++ 不是说要访问类中的函数必须要有对象吗(非静态函数) 怎么下面这个可以这样写?已通过测试了的
其实这里vector::back()是this->vector::back()的简写,而this->back()可以认为是this->Stack::back()的简写.
另外this->vector::back()等价于((vector*)this)->back(),也就是对这个对象调用vector的back