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

2021-01-15 07:26:20 字数 1448 阅读 4462

1楼:匿名用户

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

要在派生类中对基类成员进行访问,可以:

1,在派生类中对基类成员的public属性进行访问,以间接访问基类的私有成员;

2,在基类中将私有成员定义为protected访问属性,以在派生类中直接对其进行访问;

2楼:小帅姐姐狹

基类的私有成员在派生类中是不能直接访问的,但是基类一般会提供返回这些数据成员的方法,通过这些方法来获取基类私有成员的值

比如基类中有一个成员变量name

一般通过getname()方法就可以访问到

c++中派生类如何访问基类成员变量?

3楼:匿名用户

t=animal.a;

这句话不行。a是一个普通成员变量,只有对一个具体的对象,才会有.a这种用法。

4楼:匿名用户

很简单,fish改成这样就可以了:

class fish:public animalint t;

void fw()

};因为fish是animal的子类,对于fish的任何一个对象,它也拥有animal的特征,所以a也是fish的。

5楼:匿名用户

这里a是public的可以直接访问

void fw()

当然为了表明它属于基类:

可以void fw()

如果是protected的也是这样做。

如果你把它弄成private的了,可以在基类中定义public的一个相应的gette/setterr函数即可。

如果实在不想这么做,又想访问,可以用指针的方法无视权限任意涂改,当然你要知道你的目的

别弄错了,因为正常合法是不允许这么做的,但练习无所谓。

6楼:匿名用户

问题1:静态变量可以通过继承到子类里,但是你不可能通过子类对x进行第二次初始化,绝对报错

问题2:你可以在子类里去修改这个静态变量,但是在修改这个值之后,即使你去调基类的foo函数,x还是你在子类里已经修改了的值,因为子类和基类的x其实是同一个,他们是同一块内存。

问题3:在基类里没法访问派生类的x。你可以通过多态的特性,在子类父类里写一个虚函数来设置x的值,然后通过使用a的指针去调用b类里的方法。

但是对静态变量而言没有什么意义,因为他们是同一个东西,在哪修改都一样。

7楼:浅浅

c++中派生类对基类成员的访问形式主要有以下两种:

1、内部访问:由派生类中新增成员对基类继承来的成员的访问。

2、对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。

三种继承方式下,派生类对基类成员的访问规则。

1、私有继承的访问规则

2、公有继承的访问规则

3、保护继承的访问规则

C++中派生类如何使用基类中的数据成员

1楼 匿名用户 如果你是派生类实例,这个结果是正确的,派生后会覆盖基类成员。 2楼 匿名用户 派生类中继承了基类的数据成员 只有基类中的受保护 或者公有数据成员在被进行保护或公有继承时才能被派生类访问到。基类的私有成员是不可能被派生类访问到的。你用get 函数访问基类中的相同的数据成员,但是派生类既...

家庭成员中可能有不同的宗教信仰,该如何对待这种问题

1楼 匿名用户 井水不犯河水,各自修行各自信奉自己的 世间上的宗教信仰多的是,如果都互相干涉的话那岂不是天下大乱 2楼 匿名用户 耶稣 说 如果你们之间彼此相爱,世人因此就可认出你们就是我的门徒 三位一体的天主是爱a 3楼 匿名用户 用心去对待。。。。然後慢慢的去融化他们 关于家庭成员宗教信仰的问题...