首页 > 其他 > 详细

类的继承与派生

时间:2016-03-23 22:04:10      阅读:289      评论:0      收藏:0      [点我收藏+]

继承:保持已有类的特性而构造新类的过程

派生:在已有类的基础上新增自己的特性而产生新类的过程

被继承的已有类称为基类(或父类)。
派生出的新类称为派生类。
 
作用:实现代码的重用
---------------------------------------------------------------------
继承方式:公有继承,私有继承,保护继承
公有继承:
基类的public和protected成员的访问属性在派生类中保持不变,但基类的private成员不可直接访问。(就是说在派生类中public和protected中同样保留有基类的public和protected的成员)
派生类成员函数:派生类中的成员函数可以直接访问基类中的public和protected成员,但不能直接访问基类的private成员。
派生类对象:通过派生类的对象只能访问基类的public成员。

#include<iostream>
using namespace std;
class A
{
public :
int x;
protected:
int y;
private:
int z;

};

class B:public A
{
public:
B()
{
x=3;
y=4;
}
void display()
{
cout<<x<<" "<<y<<"\n";
}
};
int main()
{
B b1;
cout<< b1.x<<"\n";
b1.display();


}

私有继承:

基类的public和protected成员都以private身份出现在派生类中,但基类的private成员不可直接访问。
--子类成员函数 可pulbic protected
--子类对象 不能直接调用父类任何成员

class A
            {
              public:
                int x;
              protected:
                int y;
              private:
                int z;                

            };

            class B : private  A
            {
                public:
                    void f(){};
                protected:
                    
                private:
                    //int x;
                    //int y;

            };
            int main()
            {
                 B b1;
                b1.
            }

保护继承:

基类的public和protected成员都以protected身份出现在派生类中,但基类的private成员不可直接访问。
--子类成员函数 可pulbic protected
--子类对象 不能直接调用父类任何成员

class A
            {
              public:
                int x;
              protected:
                int y;
              private:
                int z;                

            };

            class B : protected  A
            {
                public:
                    void f()
                    {
                        x
                        y
                    }
                protected:
                    // int x;
                    // int y;
                    
                private:
                    

            };
            int main()
            {
                 B b1;
                b1.
            }

 

 

类的继承与派生

原文:http://www.cnblogs.com/defen/p/5312961.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!