当前位置:首页 » 文件传输 » 怎么样去访问基类中的私有成员
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

怎么样去访问基类中的私有成员

发布时间: 2022-05-07 20:57:02

⑴ C++中继承的类怎样调用基类的私有成员

在基类中定义一个公有成员函数。例如你要调用的私有成员为int a,就在public里定义这样一个函数:int GetA(){ return a;} 然后在继承类中调用这个GetA()函数就能达到你的目的了。

⑵ c++ 怎样访问类中的私有成员

第一: 用一个typename get(typename n) {return n ;}
第二: 如果同时访问class的数据成员和非class的数据成员,友元函数 friend 声明解决
第三: 在这个class内声明一个friend 类,这个friend类可以访问当前类的任何数据成员

第一个用的最多。。。

⑶ C++中派生类如何实现对基类私有成员的访问

派生类不能对基类私有成员进行访问。
要在派生类中对基类成员进行访问,可以:
1,在派生类中对基类成员的public属性进行访问,以间接访问基类的私有成员;
2,在基类中将私有成员定义为protected访问属性,以在派生类中直接对其进行访问;

⑷ 如何访问类中类的私有数据成员

类中的私有成员只能在类的内部访问,在类的外部是不能访问的,一般访问私有成员的方法是在类中定义一个共有的方法来访问这个私有变量,然后在类的外部调用这个方法,以达到访问私有成员变量的目的

⑸ 派生类能否直接访问基类的私有成员若不能,应如何实现

不能
不过可以在基类里面增加公有的setxx和getxx方法,在子类里面通过这些getxx和setxx方法间接访问基类的私有成员变量

⑹ 如何访问类中的private成员变量

总所周知,类中的private属性的成员变量在类外是无法访问的,今天我们探讨的就是如何在类外访问private属性的成员变量。

我们先来看一个简单的例子:

class STU
{
public:
STU()
{
x = 5;
y = 10;
}
private:
int x;
int y;
};

int main()
{
STU t;
int*p = (int*)&t + 1;
return 0;
}

通过上面的代码我们可以知道,方法是把类对象的地址强制转化为int*类型,因为类对象里存储的只是成员变量,所以通过对指针的操作可以访问到private类型的成员变量。

接下来还有一个例子:

class STU
{
public:
STU()
{
c = 'f';
y = 10;
}
private:
char c;
int y;
};

int main()
{
STU t;
int*p = (int*)((char*)&t + 4);
cout << *p << endl;
return 0;
}

这段代码中最重要的就是int*p = (int*)((char*)&t + 4);
因为第一个数据是char类型的,所以要把对象的地址转化为char*型,对象中存在两种类型的数据,需要考虑内存对齐,所以当要访问下一个int型变量的时候,指针需要加4,而不是加1。最后要取到int型的变量,还是要把地址强转为int *。

⑺ 在派生类中能否直接访问基类中的私有成员

不可以,派生类可以访问protected和public成员,private成员只有该类自身及友元类可以访问

⑻ 派生类可以调用基类的私有成员吗

您好,我来为您解答:
派生类不能对基类私有成员进行访问。
要在派生类中对基类成员进行访问,可以:
1,在派生类中对基类成员的public属性进行访问,以间接访问基类的私有成员;
2,在基类中将私有成员定义为protected访问属性,以在派生类中直接对其进行访问;
希望我的回答对你有帮助。

⑼ 派生类可以调用基类的私有成员吗

派生类不能对基类私有成员进行访问。

⑽ 关于派生类访问基类私有成员的问题

基类private的成员是不能够在派生类中被访问到的。你可以这样解决:一种方法是把基类中你想在派生类访问的改成protected访问权限。比如:class yuan
{protected:
double r;
};现在你可以在派生类访问r了。
另一种方法是在基类中添加一个成员函数来获取这个成员变量的值。class yuan
{
double r; public:double GetValueR(){return r;}
};现在你可以在派生类调用GetValueR来获取R值。但是注意GetValueR()这个函数的访问权限必须是public或者protected,如果它本身也是private那么就跟r一样,在派生类是无法访问的了。