第二章 掌握C++

第二章 掌握C++

  1. 类和结构
    在我看来类和结构最大的区别就是类里的东西默认是private的,而结构体则是public的

  2. C++特性
    2.1 类是虚拟的,对象是实体的,在类中定义成员时,不能直接赋值。
    2.2 构造函数的作用是对对象本身做初始化工作,如果一个类里没有定义构造函数,那么编译器会提供一个默认的不带参数的函数
    2.3 构析函数是反向的构造函数,不允许有返回值,格式为 ~类名(),如~p()。构造函数不允许带参数,一个类中只允许有一个。
    2.4 函数的重载是指两个构造函数名字一样,仅有参数的类型和个数不同。只有返回类型不同是不足以构成重载的,仅有函数自带的默认参数不同也无法构成重载。
    2.5 this指针,如果一个函数方法里调用的参数名字和类里定义的一样,那么在该函数里该函数的形参,类的参数没有被调用,但是在函数中加入this,可以使得类的实参被调用。
    2.6 继承,先构造父类,再构造子类,删除时先删除子类,再删除父类。
    当父类构造器带参数,而子类不带时,子类需要在构造器后加冒号,然后加上父类带参数的构造函数。
    子类只能访问父类的public和protected修饰的成员
    2.7 虚函数,当父类和子类都有同名的方法时,因为先生成父类,再生成子类,所以定义子类对象,用子类对象调用该方法时,只会调用父类的方法。所以,在父类的方法前加关键字virtual,申明该函数为虚函数,使得能调用相应的派生类或者基类函数,这就是多态。
    纯虚函数是指被标明为不具体实现的虚成员函数,含有纯虚函数的类叫抽象类,不能声明对象,只是作为基类为派生类服务,派生类必须完全实现基类的纯虚函数,否则派生类也成了抽象类不能实例化对象。

    2.8 函数的覆盖是和多态联系的,只有在基函数是虚函数,且发生覆盖的两个两个函数必须分别在派生类和基类中,两个函数的名称和参数必须完全一样
    函数的隐藏有两种情况,一是指派生类函数与基类函数名称一样,但参数不一样,此时,无论基类函数是否有virtual关键字,都将被隐藏。二是派生类函数和基类函数完全一样,但是基类函数没有virtual关键字。
    2.9 引用,int &b = a;这就是一个引用,&申明了一个引用,引用在申明时必须初始化。引用之后,a,b已经指向统一内存,改变a的同时也会改变b。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值