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声明时类自身派生类,友元类,其他地方都可以访问
。
作者:邵盛松 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声明时类自身派生类,友元类,其他地方都可以访问
。
相关文章推荐
- 访问权限修饰符(public , private , protected)
- Java面试系列【public、private、protected区别】-访问权限,基础篇
- C++中public,protected,private派生类继承问题和访问权限问题
- public,private,protected访问权限在Java,C++中的解析
- 一个C#的问卷!private、 protected、 public、 internal 修饰符的访问权限
- C++ public protected private成员访问权限解读
- 三种类的访问权限与继承方式 public protected private derive
- public,private,protected的区别,继承方法与访问权限
- Java中的访问控制权限public protected default private
- 简述 private、 protected、 public、 internal 修饰符的访问权限
- java 访问权限private,默认(默认包权限),protected(继承访问权限),public的个人理解
- super;private,protected,internal,public访问权限
- J2SE_访问权限(public, protected, default, private)
- public,private,protected访问权限在Java,C++中的解析
- private、 protected、 public、 internal 修饰符的访问权限
- public,protected,default ,private的访问权限
- 访问权限public,protected,private,default
- 简述private,protected,public,internal修饰符的访问权限
- Java访问权限修饰词private、public、protected、default、default(缺省)
- C++中public,protected,private派生类继承问题和访问权限问题