码迷,mamicode.com
首页 > 编程语言 > 详细

C++基础知识 易错点 总结(待补)

时间:2016-02-24 19:08:11      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:

=======================================================================================

1. 在C++中,不可被重载的运算符有:sizeof.成员运算符*解引用运算符::作用域运算符以及?:条件运算符

2. C++语言的多态分为:编译时多态性和运行时多态性,其中,编译时多态性可以通过函数重载和模板实现,运行时多态性通过虚函数实现! 

实行运行时多态性的机制被称为动态绑定!

3. 关于头文件引用方式:

  • #include <> 使得编译器只搜索系统目录,而不会搜索本地目录;自己写的头文件用<>会报错误!
  • #include " "  编译器首先搜索本地目录,如果本地目录没有才会搜索系统目录,如果把系统目录放在当前目录下,引用" " 可以被优先使用;
4. 设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为?

 解析:运算符的优先级 和 &&的使用规则,=的优先级小于判断符> < 所以,&&左侧m=0,为false不会执行右侧表达式,因此n的值不变为2! 

5. 重载函数是指同一个函数名可以对应多个函数的实现,编译器会根据参数个数、参数类型不同而自动调用相应的函数;注意函数返回值类型不能作为重载的判断条件!

 

6. 如果友元函数重载一个运算符时,参数列表为1,说明是1元,为2说明是2元,若没有参数则重载发生错误!如果成员函数重载一个运算符,无参为1元,1个参数为2元;

7. 关于循环语句的问题:

  • do-while循环可以写成while循环的格式,循环体至少执行一次;
  • while(条件false)时,循环体不执行;
  • break语句可以用在循环体内,用于跳出离它最近的循环语句;
  • continue只能出现在for/while/do while循环内部,或嵌套在此类循环里的语句和块内部,不能在单独的switch中用continue;
8. 关于构造函数:
  • 无论是默认构造函数还是拷贝构造函数都是没有返回值的!
  • 拷贝构造函数的参数可以使一个或多个,但左起第一个必须是类的引用对象!
  • 若类定义中没有声明拷贝构造函数,则编译器会自动生成一个缺省的拷贝构造函数,但是不会是该类的保护成员!
  • 拷贝初始化构造函数的作用是将一个已知对象的数据成员值拷贝给正在创建的另一个同类的对象!
 

 

 

 

 

 

C++基础知识 易错点 总结(待补)

标签:

原文地址:http://www.cnblogs.com/shine-yr/p/5213713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!