C++ 不是说要访问类中的函数必须要有对象吗(非静态函数) 怎么下面这个可以这样写?已通过测试了的// Problem#:5321// Submission#:1403759// The source code is licensed under Creative Commons Attribution-NonCommerci
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/29 03:12:32
C++ 不是说要访问类中的函数必须要有对象吗(非静态函数) 怎么下面这个可以这样写?已通过测试了的// Problem#:5321// Submission#:1403759// The source code is licensed under Creative Commons Attribution-NonCommerci
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++ 不是说要访问类中的函数必须要有对象吗(非静态函数) 怎么下面这个可以这样写?已通过测试了的// Problem#:5321// Submission#:1403759// The source code is licensed under Creative Commons Attribution-NonCommerci
其实这里vector::back()是this->vector::back()的简写,而this->back()可以认为是this->Stack::back()的简写.
另外this->vector::back()等价于((vector*)this)->back(),也就是对这个对象调用vector的back