博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++复习(第一节)知识点总结
阅读量:6423 次
发布时间:2019-06-23

本文共 1597 字,大约阅读时间需要 5 分钟。

hot3.png

1.程序中使用函数时,必须先声明再定义,声明的作用是告诉编译器即将定义的函数的名字是什么,返回值的类型是什么以及参数是什么。而定义是告诉编译器这个函数的功能是什么。

2.类与对象:

<1>要使用关键字class来声明一个类;

<2>要使用类名来定义一个对象;

<3>不要混淆声明和定义,声明是说明该类是什么,定义则是为一个对象分配内存;

<4>要使用点运算符来访问类的成员;

<5>要使用对象加点运算符“.”访问对象的数据成员并给它们赋值;

<6>不要混淆类和对象,不要给类赋值。

函数是用来执行一定功能的代码块,成员函数则是只能被类的对象所使用的函数:对象只使用该类提供的函数,假如类没有提供某个函数,那么对象就不能使用该函数。

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语句可以使循环直接结束。

转载于:https://my.oschina.net/u/3782432/blog/1840645

你可能感兴趣的文章
oracle取拼音码
查看>>
CSS
查看>>
Datastore Mount/Unmount Detach/Attach functions
查看>>
BGP专有命令---bgp always-compare-med
查看>>
自绘制HT For Web ComboBox下拉框组件
查看>>
2013年给父母买台电脑
查看>>
Linux 学习:Linux特殊权限习题
查看>>
解决:time stamp 2012-09-23 09:51:08 is 20484578 s in the future
查看>>
Play Framework 1.2.3 (用户导入支持excel)
查看>>
图片缓存
查看>>
javascript(四) var关键字/注释/noscript
查看>>
wins服务器在局域网中的作用
查看>>
Objective-C -------简单版的摇一摇
查看>>
Myeclipse 2014 Referenced libraries 未发布到tomcat下
查看>>
学习编程的方法
查看>>
升级linux自带的Python
查看>>
百度地图2.0瓦片地址获取(窗口内瓦片)
查看>>
我的友情链接
查看>>
.JDK1.6安装配置后的测试
查看>>
判断闰年的函数
查看>>