C++基础中常见易混淆知识点
2015-09-23 23:30
471 查看
写程序时经常遇到的几个难以分辨的C++概念:
1,#include <xxx.h> 与#include “xxx.h”的区别:<>:是从库目录中查找,“”:是从当前目录(运行时目录)开始查找,一般情况下如果要包含自己写的头文件,是要用“”的,
2,在C++中class类,可以看做是一种特殊的结构体struct,在类的定义中,如果未指明成员类型,则缺省为private,而结构体中则缺省为public, public,protected,private这三个访问控制标识符来控制一个类内部的成员和成员函数对外的可见性,被public标识符修饰的成员或者成员函数,在类的内部或外部都可以被访问到;被private标识符修饰的成员或者成员函数只能在该类中被访问;protected和private基本相似,只有一点不同:继承的结构可以访问protected成员,但是不能访问private成员。
3,引用:引用经常用在函数的传参上,另外数值交换函数也经常用到引用,例如:change(int &a,int &b){int temp;temp = x;x=y;y=x}调用时即可用int a=3;int b=4;change(a,b);一般不用指针来作为参数进行数值交换,因为会引起歧义;
4,在C++中,通常将类的定义放在.h头文件中,而将其实现放在.cpp文件中,但是不要忘了在.cpp文件中添加 #include “xxx.h”
5,类的重复定义,类的定义一般是在头文件中,类重复定义说明在头文件中该类的定义包含了两次或者两次以上,那如何防止类的重复定义呢?用预编译头文件,例如:
用#ifndef Point_H_H
#define Point_H_H
class Point();
#endif
可以防止类的重定义
6,VC++程序编译链接原理与过程
7,函数的覆盖:在子类中重写父类的函数,此时采用早期绑定的方法,此时采用早期绑定的方法,如果加入了virtual,则采用迟绑定的技术,在运行时根据对象的类型确定调用哪一个函数,迟绑定技术是MFC的类的继承的精髓。
1,#include <xxx.h> 与#include “xxx.h”的区别:<>:是从库目录中查找,“”:是从当前目录(运行时目录)开始查找,一般情况下如果要包含自己写的头文件,是要用“”的,
2,在C++中class类,可以看做是一种特殊的结构体struct,在类的定义中,如果未指明成员类型,则缺省为private,而结构体中则缺省为public, public,protected,private这三个访问控制标识符来控制一个类内部的成员和成员函数对外的可见性,被public标识符修饰的成员或者成员函数,在类的内部或外部都可以被访问到;被private标识符修饰的成员或者成员函数只能在该类中被访问;protected和private基本相似,只有一点不同:继承的结构可以访问protected成员,但是不能访问private成员。
3,引用:引用经常用在函数的传参上,另外数值交换函数也经常用到引用,例如:change(int &a,int &b){int temp;temp = x;x=y;y=x}调用时即可用int a=3;int b=4;change(a,b);一般不用指针来作为参数进行数值交换,因为会引起歧义;
4,在C++中,通常将类的定义放在.h头文件中,而将其实现放在.cpp文件中,但是不要忘了在.cpp文件中添加 #include “xxx.h”
5,类的重复定义,类的定义一般是在头文件中,类重复定义说明在头文件中该类的定义包含了两次或者两次以上,那如何防止类的重复定义呢?用预编译头文件,例如:
用#ifndef Point_H_H
#define Point_H_H
class Point();
#endif
可以防止类的重定义
6,VC++程序编译链接原理与过程
7,函数的覆盖:在子类中重写父类的函数,此时采用早期绑定的方法,此时采用早期绑定的方法,如果加入了virtual,则采用迟绑定的技术,在运行时根据对象的类型确定调用哪一个函数,迟绑定技术是MFC的类的继承的精髓。
相关文章推荐
- C++中getline被跳过
- C语言求解素数(质数)的优化:打印100-200之间的素数
- 【小游戏】C++手工制作贪吃蛇
- 【小游戏】C++手工制作贪吃蛇
- C++编译器为类自动生成的函数
- C++ primer plus(sixth edition) 编程练习答案(answers for programing exercises)第九章(chapter 9) 1-4
- c语言中常见的关键字及其基本用法分析
- 《C++primer(第五版)》学习之路-第九章:顺序容器
- 将函数返回参数转化为二进制并统计1的个数
- 流程控制(学习C语言的转折点)
- 【C语言】求1000-2000年的闰年,并统计个数
- C语言-结构体学习
- c语言之乘式还原
- POJ C++程序设计 编程题#10:输出指定结果二
- 【C语言】编写函数实现:100-200素数的输出
- C语言的谜题
- C语言函数学习整理
- c++字符串处理操作
- More Effective C++ 条款19 了解临时对象的来源
- 写一个函数返回参数二进制中 1 的个数