这就错啦。原理上子类可以间接访问基类的private,只是实际操作上程序员分工合作写代码,一般都是子类无法访问基类。
还有,真心不用说这么多,我的问题很简单,就是我写一段代码,里面有基类,子类。然后我想问基类protected如何能被调用?
基类是直接调用它还是间接调用它
子类是直接调用它还是间接调用它?
好了,问题就这么简单
基类是可以直接调用也可以间接调用。
在public继承下子类可以直接调用也可以间接调用。
在protected继承下子类可以直接调用也可以间接调用。
在private继承下子类无法调用。
还有所谓的间接访问基类的private就是所谓的接口技术,当然多说无益,网上书上都有。
请在这里概述您的问题C++中,基类protected能给子类直接调用??
但是基类由public继承派生出的子类是可以直接调用protected成员的,不管是函数还是变量。但是子类是无法调用private成员。基类由private派生出的子类是无法调用父类任何东西的,因为父类所有成员对子类都是private的。基类由protected派生出的子类和public一样,但是对于子类的使用者,所有由基类继承而来的东西都无...
C++中,基类protected能给子类直接调用?
而类的对象是不能访问protected成员的,但类的成员函数是能访问protected成员的。所以,基类的成员函数能调用自己的protected成员(其对象不能),子类的成员函数也能调用基类的protected成员(其对象不能)class A{public:A(int x,int y):x(x),y(y){}protected:void print(){cout<<"x point:"<...
C++ 类的问题 基类成员函数可以调用子类的成员函数吗?
试试在abc里进行new然后输出,应该是可以的。忠告:不要在基类构造函数中使用任何本类的虚函数,因为构造函数在虚函数表的构建之前,所以执行结果是未知的,基类可能会也可能并不会 如你预期的那样调用子类重载的虚函数,
C++问题 基类的成员函数 是否可以调用子类的成员函数
应该说不可以的 这个涉及到对象问题 一般来说对于父类来说他有多少方法子类都能用,但是父类没有的子类有的父类不能用 你说把子类设置成普通类是默认的强制类型转换吧 C++在有些方面限制的比较松 以前学过点 忘得差不多了
C++:protected访问说明符
protected只有类本身 和类的子类可以访问,对象是无法访问的!除了在继承上 他跟private没有任何区别!private 子类也将不能访问!跟你说了啊~~~ 只是在继承上不同 其他都一样的 private无法继承 也就是说子类也不能用基类的 private...但是protected就是可以的~明白吗? pravite 只对本类可见 prot...
C++中,类的protected究竟有什么作用?
C++中的protected关键字,其核心作用在于支持类的继承。当一个类的成员被声明为protected时,它允许其子类(继承自该类的类)可以直接访问这些成员,保持了基类的特性在子类中的可见性和可操作性。与public成员不同,public成员的访问权限对所有对象开放,无论是创建者还是外部代码。而private成员则仅限于...
C++中,基类中的private跟protected成员权限上有什么区别?
public成员可以在基类访问也可以在子类访问,还可以使用基类和子类的对象访问。protect成员可以在基类访问也可以在子类访问,不能使用对象访问。private成员只能在基类中访问,不能再子类访问,不能使用对象访问。以上基于public派生,否则基类的public成员在子类如果不再是public成员,则不能使用子类的对象访问。...
C++中,类的protected究竟有什么作用?
用public继承,基类所有的访问标识在子类不变, protected还是protected 。C++编程思想中是这么说的,public意味着随后的定义对所有人都适用;private意味着除了该类型的创建者和该类型的内部成员函数之外,任何人都无法访问这些定义;而protected是继承的类可以访问protected的成员,但不能访问private的成员。
c++protected是什么意思
C++:protected访问说明符 。一个类自身的对象是可以访问protected的成员的 ,protected类型的成员在一个类中与pravite类型的成员性质亦一样的,只是在派生继承时性质不同,pravite不能被派生出来的类(也就是子类)调用(访问),而protected是可以被派生出来的类调用的。protected专门就是为继承(子类)设计...
C++基类到派生子类的强制转换问题
你的pc是c类型的对象的指针啊,当然可以调用c类型的method2()方法。公用继承的话,基类成员的公用的和保护的,全能以原方式继承下来,基类私有的,没有被继承。保护继承的话,基类成员的公用的和保护的,全以保护方式继承下来,基类私有的,没有被继承。私有继承的话,基类成员的公用和保护的,全以私有...