程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> c++訪問私有(private)成員變量的常用方法

c++訪問私有(private)成員變量的常用方法

編輯:關於C++

類的對象不能直接訪問類聲明的私有成員變量,否則破壞了信息隱藏的目的。
在C++中,為了防止某些數據成員或成員函數從外部被直接訪問,可以將它們聲明為private,這樣編譯器會阻止任何來自外部非友元的直接訪問。
私有成員變量的常用訪問方法如下:

(1)通過公共函數為私有成員賦值

 

#include   
using namespace std;  

class Test  
{  
private:  
	int x, y;  
public:  
	void setX(int a)  
	{  
		x=a;  
	}  
	void setY(int b)  
	{  
		y=b;  
	}  
	void print(void)  
	{  
		cout<<"x="<(2)利用指針訪問私有數據成員

 

 

#include   
using namespace std;  
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  
	cout<(3)利用函數訪問私有數據成員
#include   
using namespace std;  
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();  
	cout<

(4)利用引用訪問私有數據成員

 

#include   
using namespace std;  
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,p2;  
	p1.setX(1);  
	p1.setY(9);  
	int a,b;  
	p1.getXY(a, b); //將 a=x, b=y  
	cout<


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved