您的位置:首页 > 编程语言 > C语言/C++

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的类的继承的精髓。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: