zoukankan      html  css  js  c++  java
  • C++学习笔记(From慕课网)

    (慕课网视频学习--C++离港篇的学习memo)
    1: 函数的参数默认值,只能在最右边。 如果有三个参数,只有中间一个有默认值,这是错误的。
     函数声明的时候写默认值,定义的时候不要写。(有些编译器会出错。)
    2:内联函数:编译时,将函数体实参和代码替换掉调用语句。
           关联字 inline
         内联函数是建议性的,由编译器决定。
         逻辑简单,调用频繁的建议使用内联。
         递归函数不能成为内联函数。

    3: 内存申请 new 内存释放 delete 注意,释放数组的时候,用 delete []p;
     申请可能失败,
    int *p = new int[100];
    if(NULL == p){
        //内存申请失败
    }

    注意,释放完内存后,再将相应的指针赋值为NULL;

    4 string aaa = "Hello" + "world!"; // 这种定义是非法的,只能是常量+变量的形式。

    5:类内定义的函数优先编译成内联函数!

    ------------------------------------------------------------------------------------
    1: 构造函数 初始化列表
    class Student{
    public:
      Student():name("Tom""), age(33){}   //冒号开头,多个变量的话,逗号隔开。
    private:
      int age;
      string name;
    }

    注意: 初始化列表先于构造函数执行。 而且只能用于构造函数。
                常量只能用初始化列表初始化。
    2: 拷贝构造函数。把一个对象赋值给另外一个对象时,自动调用拷贝构造函数。
         如果没有,则自动生成一个默认的拷贝构造函数。
    3 析构函数 ~类名() 释放内存等工作。
       不允许有参数。不能重载。没有返回值。没有的话,会自动生成一个默认的。

    ------------------------------------------------------------------------------------

    C++继承的时候,子类和父类有同名函数的时候
    就说,子类的函数隐藏了父类的函数。
    比如,父类是Person,子类是Solider
    隐藏的函数是play()
    调用子类的函数 solider.play();
    调用父类的函数 solider.Person::play();
    注意: 就算子类的函数play加上参数,也必须用上面的方式调用父类的函数。


    如果用父类指针指向子类对象,那么父类的析构函数应该定义成虚函数。virtual


    如果B,C 继承A, D继承B,C
    这种就叫做菱形继承,这个时候,A 需要再内存中只有一份。
    B,C需要使用虚继承。 如下面代码:
    class B: virtual public A{};

    ------------------------------------------------------------------------------------
    C++继承的时候,子类和父类有同名函数的时候
    就说,子类的函数隐藏了父类的函数。
    比如,父类是Person,子类是Solider
    隐藏的函数是play()
    调用子类的函数 solider.play();
    调用父类的函数 solider.Person::play();
    注意: 就算子类的函数play加上参数,也必须用上面的方式调用父类的函数。

    如果用父类指针指向子类对象,那么父类的析构函数应该定义成虚函数。virtual

    C++中的抽象类是通过纯虚函数来实现。

  • 相关阅读:
    django中函数之间的关系
    文件文本的操作
    边框宽度 边框圆角 边框颜色
    nstimer实现倒计时
    用nstimer实现倒计时
    IOS常用宏定义
    计算文字的Size
    判断UITableView滚动是否到底
    设置Label行间距
    UIAlertView 提示弹窗
  • 原文地址:https://www.cnblogs.com/sdfczyx/p/6396496.html
Copyright © 2011-2022 走看看