.
C++程序设计总结:
1. C与C++的区别:
引入类和对象,成为面向对象的程序设计语言… 一、类 二、引用 三、函数的重载 四、流操作符 五、操作符重载 六、继承,以及虚函数
参考(C是一个结构化语言:它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。
对语言本身而言,C是C++的子集,那么是什么样的一个子集?从上文可以看出, C实现了C++中过程化控制及其它相关功能,而在C++中的C(我称它为“C+”),相对于原来的C还有所加强,引入了重载、内联函数、异
. .
.
常处理等等玩艺儿,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等等。
再提高一点,在C++中,数据封装、类型这些东东已不是什么新鲜事了,需要考虑的是诸如:对象粒度的选择、对象接口的设计和继承、组合与继承的使用等等问题。
所以相对于C,C++包含了更丰富的“设计”的概念,但C是C++的一个自洽子集,也具有强大的功能,同样值得学习。)
? *全面兼容C
– 它保持了C的简洁、高效和接近汇编语言等特点 – 对C的类型系统进行了改革和扩充
– C++也支持面向过程的程序设计,不是一个纯正的面向对象的语言
? 支持面向对象的方法
2. 友元函数
友元函数在类中用 friend 修饰的非成员函数,在其函数体中可以通过对象名
访问类的
Private和protected成员。
? 作用:增加灵活性,使程序员可以在封装和快速性方面做合理选择。 ? 访问对象中的成员必须通过对象名。
友元类:
若A类为B类的友元类,则A类的所有成员函数都是B类的友元函数, 都可以访问B类的私有和保护成员。
. .
.
语法形式: class B {
··· //B类中成员函数声明
friend class A; //声明A为B的友元类 ···
};
注意:(1. 友元关系是不能传递的 2. 友元关系是单向的 3. 友元关系是不被
继承的。)
3. 重载
哪些运算符不能重载:类属关系运算符“.”,成员指针运算符“.*”,作用域分辨符“::”,三目运算符“?:”。
运算符重载的两种形式:重载为类的非静态成员函数(函数只有一个形参)
和重载为非成员函数(函数的形参有两个)。
***运算符重载 成员与非成员 之间的差异:如何实现 差异:308至315页 例8-1、8-2、8-3***
4. 继承(实现代码重用)与派生
. .