1、没有引用的情况:
#include <iostream>
#include <queue>
using namespace std;
class Person
{
public:
queue<int>que;
public:
queue<int> getQueue()
{
return que;
}
void push(int a)
{
que.push(a);
}
void pop()
{
que.pop();
}
};
int main() {
Person p;
for (size_t i = 0; i < 10; i++)
{
p.push(i);
}
std::cout<<"弹出前元素个数:"<<p.getQueue().size()<<std::endl;
p.getQueue().pop();
p.getQueue().pop();
p.getQueue().pop();
std::cout<<"弹出后元素个数:"<<p.getQueue().size()<<std::endl;
return 0;
}
实际上p.getQueue()返回的是一个副本,并不是返回成员变量
输出如下:
文章来源地址https://www.toymoban.com/news/detail-657126.html
2、采用引用:
#include <iostream>
#include <queue>
using namespace std;
class Person
{
public:
queue<int>que;
public:
queue<int>& getQueue()
{
return que;
}
void push(int a)
{
que.push(a);
}
void pop()
{
que.pop();
}
};
int main() {
Person p;
for (size_t i = 0; i < 10; i++)
{
p.push(i);
}
std::cout<<"弹出前元素个数:"<<p.getQueue().size()<<std::endl;
p.getQueue().pop();
p.getQueue().pop();
p.getQueue().pop();
std::cout<<"弹出后元素个数:"<<p.getQueue().size()<<std::endl;
return 0;
}
输出如下:
文章来源:https://www.toymoban.com/news/detail-657126.html
到了这里,关于改变C++中私有变量成员的值的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!