C++ 视频学习笔记

来源:互联网 发布:无缝贴图软件中文版 编辑:程序博客网 时间:2024/05/22 15:18

1、C++与C有什么不同?

【解答】

C++与C语言最大的不同在于解决问题时思维方式的不同,C++采用面向对象思维,而C语言则采用面向结构思维。

面向结构思维的宗旨就是将一个大程序拆成一个个很小的结构,结构(或叫方法)就是实现一个或多个功能的代码块。面向结构思维就是要将一个大程序划分为若干个很小的结构,每个结构都完成一个或多个功能,所有结构集合起来就可以完成一个大功能。

面向结构编程思维有很大的弊端:

1)缺乏程序的可维护性。仅将大程序细化成若干个小结构,而没有考虑数据的安全性问题,比如数据还是属于整个程序。

2)缺乏程序的可重用性。由于结构化编程并没有将相关的数据和结构看做一个整体,所有无法利用已有的代码来创造新的代码。

面向对象思维增加了大量的编程理念,它有能力将一个大程序拆分成若干个对象,每个对象中再封装部分数据和实现功能的方法,从而解决了数据的安全性问题;另一方面,面向对象允许将具有相同特征的对象划分为一类,而同一类的对象又可以继续向下派生,从而实现代码的重用。面向对象的另一个有点是支持多态性,多态性是指不同的对象采用相同的方法会导致不同的行为或结果。


2、iostream和iostream.h的区别?

【解答】

iostream.h为非标准的输入输出流,这个.h的头文件是C语言格式的,由于当时还没有命名空间这个说法,所有也就不存在std这个命名空间标识符,自然用iostream.h也就用不着std或者using namespace std了。

iostream为标准输入输出流,它是C++规范的带有命名空间的头文件,它包含在std命名空间内。


3、long类型的数所占内存空间为4个字节,而int类型的长度并不固定,它和系统平台有关,int型的数占的内存空间在16位系统里是2个字节,在32位系统里是4个字节。short类型的数占用的内存空间是int型的一半。


4、double和float的区别?

double精度高,有效位数15~16位,float精度6~7位,但double消耗内存是float的两倍,double的运算速度比float慢很多,能用单精度时不要用双精度(以省内存,加快运算速度)。


5、三目运算符允许对不同类型的数值进行操作。

如:int a = 3; float = 2.1f;

cout<<(a>b?a:b);


6、如果不想让某个成员函数修改成员变量的值,那么不妨将这个成员函数声明为const。


7、声明一个对象数组,假如A是一个类:

A a[];       //声明了两个对象a[0]和a[1]


8、

1)无条件的跳转到某条语句执行,用goto语句;

2)对某种条件进行判断,为真或为假分别执行不同的语句,用if语句;

3)需要检测的条件很多,用if...else语句;

4)对数字或字符进行检测并且需要检测的条件又很多,用switch语句;

5)能够确定循环次数,用for语句;

6)不能确定循环次数,用while语句;

7)循环体中的语句至少要执行一次,用do...while语句。

continue用于结束本次循环执行下次循环,而break使循环直接结束。

0 0
原创粉丝点击