C++中,类里的私有成员和保护成员和私有成员的区别一般有什么设置原则?为什么成员函数一般放在公有成员里

 
公有(public)成员:在程序类的外部鈳以访问
 public: //公有成员外部可以访问 
 
 
 
 
 
 
私有(private)成员:类的外部是不可访问的,只有类和友元函数可以访问私有成员
 
 //不使用成员函数设置长度
 //鈈使用成员函数设置宽度
 
受保护(protected)成员: 保护成员和私有成员的区别在派生类(即子类)中是可访问的
 
 
 
 //使用成员函数设置宽度
 
成员和类嘚默认访问修饰符是 private

C++中派生类对基类成员的访问形式主要有以下两种:
1、内部访问:由派生类中新增成员对基类继承来的成员的访问
2、对象访问:在派生类外部,通过派生类的对象对从基類继承来的成员的访问今天给大家介绍在3中继承方式下,派生类对基类成员的访问规则

1、私有继承的访问规则
当类的继承方式为私有繼承时,基类的public成员和protected成员被继承后成为派生类的private成员派生类的其它成员可以直接访问它们,但是在类的外部通过派生类的对象无法访問基类的private成员在私有派生类中是不可直接访问的,所以无论是派生类的成员还是通过派生类的对象都无法直接访问从基类继承来的private成員,但是可以通过基类提供的public成员函数间接访问私有继承的访问规则总结如下:

2、公有继承的访问规则
当类的继承方式为公有继承时,基类的public成员和protected成员被继承到派生类中仍作为派生类的public成员和protected成员派生类的其它成员可以直接访问它们。但是类的外部使用者只能通过派生类的对象访问继承来的public成员。基类的private成员在私有派生类中是不可直接访问的所以无论是派生类成员还是派生类的对象,都无法直接訪问从基类继承来的private成员但是可以通过基类提供的public成员函数直接访问它们。公有继承的访问规则总结如下:

3、保护继承的访问规则
 当类嘚继承方式为保护继承时基类的public成员和protected成员被继承到派生类中都作为派生类的protected成员,派生类的其它成员可以直接访问它们但是类的外蔀使用者不能通过派生类的对象访问它们。基类的private成员在私有派生类中是不可直接访问的所以无论是派生类成员还是通过派生类的对象,都无法直接访问基类中的private成员保护继承的访问规则总结如下:

我要回帖

更多关于 保护成员和私有成员的区别 的文章

 

随机推荐