㈠ 如何访问类中类的私有数据成员
类中的私有成员只能在类的内部访问,在类的外部是不能访问的,一般访问私有成员的方法是在类中定义一个共有的方法来访问这个私有变量,然后在类的外部调用这个方法,以达到访问私有成员变量的目的
㈡ 读取private成员变量
1、在类中声明private的变量
2、给出get,set方法
3、在其他类中实例化1中的类,然后通过类的对象来点出成员变量,例如:
publicclassUser{
privateStringname;
publicvoidsetName(Stringname)
{
this.name=name;
}
publicStringgetName()
{
returnname;
}
}
publicclassTest{
publicstaticvoidmain(String[]args)
{
Useruser=newUser();
user.setName("张三");
System.out.println(user.getName());
}
}
㈢ C++类中静态对象成员的访问!
类其实是个模型。
而对象就是找个这个模型制作的实体。
比如,类是造车的图纸,对象就是找个图纸造出的汽车。
类的成员是分级别的:protect,public,private。
在类内部定义的函数可以访问任何一个变量,或者调用任何的类内部的函数,但是,如果被定义成private的话,对象是不能调用的,也就是对象只能调用定义为public的数据,如果你确实需要调用某个private的变量,你可以定义一个public的函数来返回这个变量,比如:
class
d
{
private:
int
a;
public:
int
getint(){return
a;}
......
}
这里你的对象不能调用a的,
也就是不能
int
b;
d
d;//假设已经写好了构造函数
b=d.a;//这是错误的,
但是你可以
b=d.getint();
这样就可以把a的值给b了。
所有的public的函数都可以通过
<对象>.<函数名>
的方式来调用
㈣ 在C++中如何访问一个类里面的私有变量
在面向对象的编程里,既然变量设为私有的,就是为了信息隐藏,所以如果要访问私有变量,最好是使用Get函数。但在c++里还可使用友元类或友元函数进行访问,这种方法不太推荐
㈤ c++ 如何访问protected 中的变量
/*在面对对象的语言中,访问一个私有类的变量时,为了保护数据,会设置pulbic的get,set方法来获取或者改变变量的设置。*/
classa{
private:
intX=0;
public:
intgetX(){
returnX;
}
voidsetX(intX){
this.X=X;
}
}
/*在需要用到X变量时就用getX函数来返回X的值,在需要更改X的值时就用setX值。*/
㈥ c++类中静态成员函数怎么访问类私有变量
如果私有变量是静态的,可以直接访问,或通过类名::变量名访问;
如果私有变量是实例成员,要先创建一个类的对象,再通过对象名.变量名访问,或先new一个对象,将new的返回值赋给一个指针,通过指针名->变量名访问或通过(*指针名).变量名访问。
㈦ 如果想要访问父类中的一个private成员变量有什么方法
类的封装性,一般在定义成员变量的时候定义为private,同时还会定义几个公有的方法实现对该私有成员变量进行操作的函数,这样在类就可以通过 对象名.公有方法 的方式对私有成员进行访问
㈧ c++中私有变量的引用
谁也没说前者不适用“.”引用
private是对于类的外部是不可见的,但是对于类的内部是可以访问的。类的成员函数可以访问私有变量。比如第2个中的 Line(Line &L);它就是类的成员函数可以访问私有成员的。如果你在第一个类里面写一个函数,也是可以访问第一个类的私有变量的。比如get函数,它就能访问x,y。get函数和 Line(Line &L);地位是相同的。
㈨ 在C++中访问类的私有成员变量的方法有哪些
(1)通过公共函数为私有成员赋值
#include<iostream>
usingnamespacestd;
classTest
{
private:
intx,y;
public:
voidsetX(inta)
{
x=a;
}
voidsetY(intb)
{
y=b;
}
voidprint(void)
{
cout<<"x="<<x<<' '<<"y="<<y<<endl;
}
};
intmain()
{
Testp1;
p1.setX(1);
p1.setY(9);
p1.print();
return0;
}
(2)利用指针访问私有数据成员
#include<iostream>
usingnamespacestd;
classTest
{
private:
intx,y;
public:
voidsetX(inta)
{
x=a;
}
voidsetY(intb)
{
y=b;
}
voidgetXY(int*px,int*py)
{
*px=x;//提取x,y值
*py=y;
}
};
intmain()
{
Testp1;
p1.setX(1);
p1.setY(9);
inta,b;
p1.getXY(&a,&b);//将a=x,b=y
cout<<a<<' '<<b<<endl;
return0;
}
(3)利用函数访问私有数据成员
#include<iostream>
usingnamespacestd;
classTest
{
private:
intx,y;
public:
voidsetX(inta)
{
x=a;
}
voidsetY(intb)
{
y=b;
}
intgetX(void)
{
returnx;//返回x值
}
intgetY(void)
{
returny;//返回y值
}
};
intmain()
{
Testp1;
p1.setX(1);
p1.setY(9);
inta,b;
a=p1.getX();
b=p1.getY();
cout<<a<<' '<<b<<endl;
return0;
}
(4)利用引用访问私有数据成员
#include<iostream>
usingnamespacestd;
classTest
{
private:
intx,y;
public:
voidsetX(inta)
{
x=a;
}
voidsetY(intb)
{
y=b;
}
voidgetXY(int&px,int&py)//引用
{
px=x;//提取x,y值
py=y;
}
};
intmain()
{
Testp1,p2;
p1.setX(1);
p1.setY(9);
inta,b;
p1.getXY(a,b);//将a=x,b=y
cout<<a<<' '<<b<<endl;
return0;
}