• 扩大
    缩小

    C++易错知识点

    1.单/双链表创建要linklist两个才能创
    2.函数返回一定&
    3.在类中声明常数据成员时,只能通过构造函数成员初始化列表的方式来实现
    4.静态数据成员不能在类中初始化,使用时需要在类体外声明(static
    5.常成员函数不能修改任何数据成员(const
    6.重载函数中不允许使用默认参数
    7.定义class时记得加分号;选择题!
    8.WPL哈夫曼文本所占字节数
    9.n0=n2+1
    10.


    ----------------------------------------
    在什么情况下系统会调用拷贝构造函数:(三种情况)
    (1)用类的一个对象去初始化另一个对象
    (2)当函数的形参是类的对象时(也就是值传递时),如果是引用传递则不会调用
    (3)当函数的返回值是类的对象或引用时
    ----------------------------------------

     

     

     

     

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

     

    point (*p)[3];
    //这里point是类名,p是指向对象数组的指针
    //因为这里的p和*是结合在一起的,是一个指针
    point* p[3];
    //这里point是类名,p是一个指针数组(有三个元素,每个元素是point对象指针)
    //因为[]的优先级大于*的优先级!!!!!

    string name;
    int age;

    //方法 Ⅰ

    Student *p[3];//这里的p是指针数组,是一个数组
    for(int i=0;i<3;i++){
    cin>>name>>age;
    p[i] = new Student(name,age);//p[i]是指针
    p[i]->AvgScore();
    }

    //方法 Ⅱ

    Student *p = new Student[3];//这里的p是指针
    for(int i=0;i<3;i++){
    cin>>name>>age;
    p[i] = Student(name,age);//这里的p[i]是数组中的元素,即对象。
    p[i].AvgScore();
    }
    ----------------------------------------
    函数重载判断依据
    1. 函数形参的个数

    2. 函数形参的类型

    3. 形参的顺序

    4. 不能把返回值作为函数重载的条件,原因是编译器在编译时不会去判断函数的返回类型,函数只有调用后,编译器才会去验证返回类型,所以返回值不能作为函数重载的依据。

    5. 常函数 const 可以作为函数重载判断依据,原因:重载[]运算符时,有没有const的区别是:有const只读,没有const读写都可以。

     

    posted on 2022-06-16 08:58  Ancientea  阅读(226)  评论(0)    收藏  举报

    导航