c++在外部訪問私有成員變量的方法

原文來自: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;  
}     

個人比較喜歡以返回值的形式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章