C++中对私有成员变量进行赋值

c++类成员的访问属性可以分为三种,分别是:公共成员(public),私有成员(private),受保护成员(protected)。

在类对象的作用域内,公共成员在类的外部是可访问的。

私有成员和受保护成员则不可以直接访问。

下面一个小例子,使用公有成员函数对私有成员进行赋值:

class example
{
public:
	int a;
	int set(int b)
	{
		return c = b;
	}
private:
	int c;
};
example one;

one.a = 1;//对公有成员进行赋值
one.set(1);//对私有成员c的赋


在网上看到一道面试题:

class A{
private:int i;
public:int j;
}
void main(){
A a;
a.j=1;
}
怎么给i赋值,不能修改类
答案:
思路:
class A{
private:int i;
public:int j;
}
void main(){
A a;
a.j=1;
//用指针实现:
int *pI=(int *) (&a);
*pI=1234;
}


你可能感兴趣的:(windows,c/c++)