原文來自:https://blog.csdn.net/lsh_2013/article/details/45485409
類的對象不能直接訪問類聲明的私有成員變量,否則破壞了信息隱藏的目的。
在C++中,爲了防止某些數據成員或成員函數從外部被直接訪問,可以將它們聲明爲private,這樣編譯器會阻止任何來自外部非友元的直接訪問。
私有成員變量的常用訪問方法如下:
1、通過參數的形式:(指針和引用類似)
#include <iostream>
class Test
{
private:
int x,y;
public:
void setX(int a)
{
x=a;
}
void setY(int b)
{
y=b;
}
void getXY(int *px, int *py)
{
*px=x; //提取x,y值
*py=y;
}
};
int main()
{
Test p1;
p1.setX(1);
p1.setY(9);
int a,b;
p1.getXY(&a,&b); //將 a=x, b=y
std::cout<<a<<'\t'<<b<<std::endl;
return 0;
}
2、通過返回值的形式
#include <iostream>
class Test
{
private:
int x,y;
public:
void setX(int a)
{
x=a;
}
void setY(int b)
{
y=b;
}
int getX(void)
{
return x; //返回x值
}
int getY(void)
{
return y; //返回y值
}
};
int main()
{
Test p1;
p1.setX(1);
p1.setY(9);
int a,b;
a=p1.getX( );
b=p1.getY();
std::cout<<a<<'\t'<<b<<std::endl;
return 0;
}
個人比較喜歡以返回值的形式。