您的位置:首页 > 其它

private,protected,public的访问权限

2009-01-19 16:54 316 查看
private,protected,public的访问权限

作者:邵盛松 2009年1月19日

#include <iostream>

using namespace std;

class Base
{
friend class F_Derived;
public :
Base();

private :
int a;

protected:
int b;

public:
int c;

private:
void print1();
protected:
void print2();
public:
void print3();

};
Base::Base()
{
a=1;
b=2;
c=3;
}

void Base:: print1()
{

std::cout<<a<<b<<c ;
}
void Base:: print2()
{
;
std::cout<<a<<b<<c ;
}
void Base:: print3()
{

std::cout<<a<<b<<c ;
}

class Derived: public Base{
public:
void print4();

};
void Derived::print4()
{ //print1();//无法访问基类中私有成员
print2();//派生类可以访问基类的保护成员
print3();//派生类可以访问基类的公有成员

}

class F_Derived:public Base{
public :
void print5();

};
void F_Derived::print5()
{
print1();
print2();
print3();

}
int _tmain(int argc, _TCHAR* argv[])
{

Base b_o;
//b_o.print1();无法访问 private 成员
//b_o.print2();无法访问 protected 成员
b_o.print3();
std::cout<<endl;
Derived d_o;
d_o.print4();
std::cout<<endl;
F_Derived f_o;
f_o.print5();
std::cout<<endl;

return 0;
}

以上程序在VC++2003 windows2003下调试通过

当一个类中的成员用private声明时,只有类自身还有它的友元类才可以访问。
当一个类中的成员是protected声明时,类自身,它的友元类,它的派生类都可以

访问。其他地方无法访问。
当一个类中的成员用public声明时类自身派生类,友元类,其他地方都可以访问

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: