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读写都可以。

浙公网安备 33010602011771号