因为用的少,老是忘记 特此记下!
#include <iostream>
using namespace std;
class father
{
protected:
int aa;
public:
virtual void test(father& ff) {
ff.aa = 5; //可以访问
} //多态
};
class son :public father
{
public:
void inint(son& dd,father& ff)
{
dd.aa = 1; //子类能访问
ff.aa = 10; //父类不知道为啥不能访问???
}
};
int main()
{
son s3;
s3.aa // error 不在子类类中,子类对象不可访问
s3.inint(s3);
std::cout << "Hello World!\n";
}
总结:
1.相对于子类对象,和父类对象来说,是private,都不可访问
2. 相对于子类类中来说是public
3.在父类类中创建父类对象,父类对象也可访问
但是如果在子类类中创建父类,子类对象的话,子类对象也可以访问protecte修饰的父类成员,父类对象反而不能访问,这里要特别注意,不要想当然!