C++中怎么对私有成员变量进行赋值,最好能写出个例子

如题所述

C++中的类有私有成员变量和外部成员变量之分,私有成员变量只能在类里访问,在类外进行赋值是不被允许的。比如有如下的类定义:
class stu  //类定义
{public:   //外部成员关键字
   int a;
   int set(int n){b=n;return n;}  //成员函数
 private:  //私有成员关键字
   int b;   
};
stu s;   //定义一个对象

像上面这样的定义,如果在类外写上s.a=5;这样是对的,但如果写上s.b=5;就是错的,因为b是私有成员,在类外是不允许被访问的,不要说赋值,就是引用也不行,比如:int y=s.b+5;这样也是错的。这个时候如果需要对b在类外进行赋值,就必须在类内写一个可以赋值的函数,比如像上面的例子,如果在定义类的时候有写一个像set()这样的函数。那么在类外就可以这样来给b赋值:s.set(6);这样之后,b就会等于6。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-21
#include <iostream>
using namespace std;

class CTest
{
private:
int id;
public:
int GetID(){return id;}
void SetID(int m_id){id = m_id;}
};
int main()
{
CTest test;
test.SetID(89);
cout << test.GetID() << endl;
return 0;
}

相似回答