第2课 掌握C++

来源:互联网 发布:lomo拍立得知乎 编辑:程序博客网 时间:2024/06/06 00:20
1.定义结构体和类时别忘记在最后加入 "" 号!例如 Class Point{int x;int y;};
2.#include <xxx.h> #include "xxx.h"的区别: <>不查找运行时目录,""查找运行时目录!
3.类的定义中,如果未指明成员类型,则缺省为 private.而结构体中则缺省为public.
4.引用:引用经常用在函数的传参上。另外数值交换函数也经常用引用。例
change(int &x,int &y){int temp;temp=x;x=y;y=x} 调用时即可以用 int a=3;int b=4;change(a,b);一般不用指针来作为参数进行数值交换。因为会引起歧义。
5.通常将类的定义放.h文件,而将其实现放在 cpp文件中,别忘记了在cpp文件中 #include "xxx.h"
6.如何防止类的重复定义?
#inndef Point_H_H
#define Point_H_H
class Point{};
#endif来防止
7.源文件cpp 文件单独编译成 obj文件。最后由链接器将与将要使用到的 C++标准库类链接成exe文件,头文件不参加编译。所以在 cpp文件中别忘记了加入#include "xxx.h"
8.函数的覆盖,在子类中重写父类的函数,此时采用早期绑定的方法。如果加入了 virtual,则将采用迟绑定的技术,在运行时根据对象的类型确定调用哪一个函数。此迟绑定技术是 MFC的类的继承的精髓。
9.强制类型转换。如果CFish CAnimal派生而来。则可以将鱼的对象转换为 CAnimal的对象,而反之则不行。从现实中理解也是正常的,鱼可以是动物,而动物却不是鱼。再如 int可以强制转换成char型。而反之则出错。
10 包含头文件时,<> ””是不同的。<>表示编译器从系统目录下开始搜索,然后再搜索 PATH环境变量所列出的目录,不搜索当前目录,找不到就出错。而 ””则表示先从当前目录搜索,然后才是系统目录和 PATH环境变量列出的目录。所以,如果头文件在系统目录下,就用 <>,如果头文件在当前目录下,就用 ””,这样可以加快搜索速度。
11 在类的头文件(*.h)的开头,一般定义有如下宏:
#ifndef ANIMAL_H_H
#define ANIMAL_H_H
Class ***
……
#endif
这么做就是为了避免类重复定义。
0 0
原创粉丝点击