改变C++中私有变量成员的值

1、没有引用的情况:

#include 
#include 
using namespace std;
class Person
{
public:
    queueque;
public:
    queue 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()返回的是一个副本,并不是返回成员变量

输出如下:

 

2、采用引用:

#include 
#include 
using namespace std;
class Person
{
public:
    queueque;
public:
    queue& 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<<"弹出前元素个数:"<

输出如下:

 

你可能感兴趣的:(c++,算法,开发语言)