1.程序中使用函数时,必须先声明再定义,声明的做用是告诉编译器即将定义的函数的名字是什么,返回值的类型是什么以及参数是什么。而定义是告诉编译器这个函数的功能是什么。编程
2.类与对象:安全
<1>要使用关键字class来声明一个类;函数
<2>要使用类名来定义一个对象;对象
<3>不要混淆声明和定义,声明是说明该类是什么,定义则是为一个对象分配内存;内存
<4>要使用点运算符来访问类的成员;编译器
<5>要使用对象加点运算符“.”访问对象的数据成员并给它们赋值;it
<6>不要混淆类和对象,不要给类赋值。编译
函数是用来执行必定功能的代码块,成员函数则是只能被类的对象所使用的函数:对象只使用该类提供的函数,假如类没有提供某个函数,那么对象就不能使用该函数。class
3.类的数据成员:通常状况下,咱们能够将类的数据成员设置为私有,而使用类的公有成员来访问它们。这样好处是数据的赋值与读取分开操做,赋值函数不须要考虑读取函数是如何工做的,读取函数代码的改变也不会影响到赋值函数,即赋值函数不用因读取函数中代码的改变而改动本身的代码。并且因为将数据成员私有之后,各个对象不能够直接访问并修改数据,这样提升了数据的安全性,所以设置私有数据成员可使程序更容易维护,而且可避免一些不该有的错误。效率
4.普通内联函数:当咱们定义了一个函数后,编译器就会在内存中为其建立一个指令集,当咱们调用这个函数时,程序就会跳转到该指令集处,当该函数运行完毕后,程序又会返回到原来执行调用该函数语句的下一行继续执行,假如对该函数执行了上百次调用,那么就要来回跳转上百次,这会严重影响程序的执行效率。C++中,为解决这一问题,可以使用关键字inline声明函数,如:
inline int fun();
则编译器将不会建立真正的函数,而只是将这个内联函数的全部代码复制到调用函数中这样程序在执行调用该函数时就不须要来回跳转,天然就提升了程序运行时的效率。使用内联函数在提升程序的同时,会需多要一些代码,好比说程序调用了内联函数100次,那么就要将该内联函数中的代码复制100次,这样会增大程序的体积。当函数很小时使用内联函数比较合适。
在不知道具体怎么操做时,最好先不要使用内联函数,等程序完成大部分功能时,在对符合要求的函数进行内嵌操做。
5.将类声明和定义部分保存在头文件中
6.若是咱们不想让某个成员函数修改为员变量的值,那么能够将这个成员函数声明为const.如:
void print() const {cout<<"两数相乘为:"<<i*j<<endl;
在编程时,必定要尽可能多用const,对于不该当改变对象的成员函数,都应该声明为const。这样若是该成员函数试图去修改该对象的成员变量时,编译器会提示错误,从而达到帮助差错的目的。
7.默认构造函数:通常来讲,只要咱们不建立任何构造函数,那么系统就会为咱们建立这个什么功能都没有的默认构造函数,而一旦咱们建立了一个构造函数,则这个默认构造函数就会被自动屏蔽。假如咱们建立了带参数的构造函数后,又想要一个不带参数的构造函数,那么就必须本身再建立一个不带参数的。
8.注意:构造函数是没有返回值的,析构函数也没有返回值
9.假如想要无条件地跳转到某条语句执行,用goto语句;假如想要对某种条件进行判断为真或为假分别执行不一样的语句,用if语句;假如须要检测的条件不少,用if else语句;假如是对数字或者字符进行检测而且须要检测的条件又多,用switch语句;假如可以肯定循环的次数,用for语句;假如不能肯定循环的次数,用while语句;假如循环体中的语句至少要执行一次,那么用do while语句。
另外,continue可使循环又一次从新开始执行,而break语句可使循环直接结束。