24学时攻克c+ 笔记.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
24学时攻克c笔记

24学时攻克C++ 笔记 王琳 2009-10-27 关键字:c++ 读书笔记 开始 推荐使用编译器BCB5,VS2003,VS2008(以下均在BCB5下进行)。 以下以一个完整的C++程序来说明如何在BCB5中进行开发。 通常第一个C++程序都是从“Hello World!”开始的。 新建 编写源代码 输入源代码 以下是三种不同的命名空间和头文件的写法。 //包含输入/输出流处理的头文件 #include iostream //加上命名空间 using namespace std; int main(int argc, char* argv[]) { //这里就可以直接使用cout cout Hello Wordld!\n; return 0; } //此种头文件C语言中比较多用的 //如果include头文件的时候加上.h,默认会using namespace #include iostream.h int main(int argc, char* argv[]) { cout Hello Wordld!\n; return 0; } //包含输入/输出流处理的头文件 #include iostream int main(int argc, char* argv[]) { //在调用函数的时候才指定命名空间 std::cout Hello Wordld!\n; return 0; } 编译 运行 查看运行结果 为了查看运行结果,我们在程序中添加了一个暂停。 结果如下: C++程序的组成 本章仅是大体介绍了下基本概念。像预处理会在21学时再提到。 在这儿需要提醒下大家注释的位置,一般来说,对代码的注释应放在其上方,对变量的注释放在其右侧,无论如何应尽量避免在一行代码或表达式的中间插入注释。 变量和常量 无它,同样提醒下代码规范: 最好一行只定义一个变量,并且尽可能在定义变量的同时初始化该变量。 变量和常量最好尽量采用有意义的标识命名。 涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替。 表达式和语句 注意操作符的优先级。 避免使用默认优先级,用括号明确表达式的操作顺序。这样代码看起来比较清晰。 要小心“=”和“==”…… 为了调试方便,if语句的条件之后不要再写代码,作为良好的习惯,不管条件判断之后要执行的代码有几句,都用大括号括起来。 if( expression ) { //一句也括起来 statement; } 函数 函数声明通常与定义分别定义在.h和.cpp文件里 注意函数参数的传值和传址 函数相关代码规范 代码应格式清晰,容易维护,避免使用全局变量,inline,重载 程序流 注意死循环。 小心下标越界。 基本的类 类命名相关代码规范 公有还是私有 构造和析构 关于类的更多讲解 const的使用 头文件 指针 高级指针 指针是保持内存地址的变量。 对指针进行初始化,防范空指针和野指针。 指针的三种常见用途:管理堆中的数据;访问类成员数据和函数;按照引用把变量传递给函数。 new分配的是堆中的内存,需要明确的释放。 正确的释放内存,避免内存泄露。 const 指针。 引用 引用是对象的别名,没有像指针那样分配单独的空间。 何时是引用操作符,何时是取地址操作符。 引用要初始化,不能为空。 引用不能被重新赋值。 高级引用和指针 正确使用指针和引用作为参数让程序更有效率。 该用引用用引用,该用指针用指针。 谁分配,谁释放。 高级函数 重载后编译器根据参数的个数和类型确定调用哪个函数 析构函数不能重载 深度拷贝与浅度拷贝 操作符重载 重载前缀操作符和后缀操作符的区别。 注意返回的是引用还是值。 操作符重载的局限。 注意赋值给自己时的内存管理。 转换操作符不指定返回值。 数组 如果创建任何其他的构造函数,那就必须自己创建默认构造器。 继承和多态性 继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。 派生是一种“是”的关系。当声明类的时候,在类名称的后面写上冒号、派生的类型和从哪个类进行派生,通过这种方式指出这个类派生于哪个类。如: class MyClass : public BaseClass 虽然一个程序不可能捕获现实中的全部信息,但是应按照适度可信的方式映射回现实来表现我们关心的领域。 protected的数据成员和函数对派生的类是完全可见的,但在其他方面与private一样。 创建和销毁实例时构造和析构的调用顺序。 覆盖是在派生类中创建与基类名称和签名都相同的方法。覆盖时会隐藏基类中所

您可能关注的文档

文档评论(0)

pab547 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档