C++ 类进阶

接着说类。

拷贝构造函数——左值引用

见《C++ 引用》

上一节说了,我们可以在一个类里面定义构造函数。

除了普通构造函数之外,我们还可以定义拷贝构造函数。

像这样:

sc (const sc&other){do_sth;}

作用是用一个SC类型的其他变量来初始化这个变量。

移动构造函数——右值引用(C++11)

见《C++ 引用进阶》

像这样:

sc (sc&&other){do_sth;}

我们可以直接从other接管资源,从而为程序赢得许多宝贵的时间,大大提高效率。

类的继承

如果我们先写了一个类,后来又写了一个类想要沿用前者的某些特性。

这时就要用到——继承。

举个栗子:

SC base{
  protected:
    int a; }; SC derived:private base{
  private:
    base x;
  public:
    derived(){x.a=0;}
};

在外界看来,base类里的a是不可以访问的。但是,因为derived继承了base,所以其下的函数便可以访问或修改a。

这个private base前的private是什么意思呢?

这个表示继承的base对象不能被外界对象与继承了derived的类所使用。

若base前为public,表示能被外界所有对象访问;

若base前为protected,表示只能被继承了derived的类所使用。

 

在一对继承关系中,被继承的类是基类,继承基类的类是派生类

转载于:https://www.cnblogs.com/ColinWang-OIer/p/10505390.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值