【C++】
文章平均质量分 81
_HelloBug
这个作者很懒,什么都没留下…
展开
-
~第七章:类型与语句
命名空间(编译指令)的使用: 函数定义之前:using namespace std; 函数定义内:using namespace std; 在函数中使用:using std::cout; 不使用using,直接使用std::cout OPP:面向对象编程控制符 endl hex oct dec const是限定符,修饰变量时表示该变量只读,不能修改。 使用const值来声明数组长度const和d原创 2017-10-22 10:17:06 · 130 阅读 · 0 评论 -
第八章:函数
C++函数的新特性: 内联函数 按引用传递变量 默认的参数值 函数重载(多态) 模版函数 内联函数: 定义:编译器将函数代码替换函数调用。程序执行的过程中无需跳转。通常在函数代码很短而且经常被调用使用内联函数。 使用:函数声明和定义前添加:inline 内联和宏的比较: 1)都是文本替换 2)宏不能进行按值传递。当进行类似a++的参数传递时会出错。 类声明中实现类成员函数的定义,该函数将成为内联原创 2017-10-22 10:46:55 · 151 阅读 · 0 评论 -
第九章:内存模型和名称空间
C11摒弃了register关键字 定义变量时,可以使用extern进行变量的初期化 const修饰的变量是内部链接性。但可以使用extern关键字来覆盖默认的内部链接性。extern int a = 9;//警告:a已经初始化,又被声明为extern。 extern const int a = 9;//正确存储修饰符: 修饰符 属性 auto 无链接性, register原创 2017-10-22 11:12:04 · 245 阅读 · 0 评论 -
第十章:对象和类
面向对象是一种编程风格,用于任何一种语言。OPP特性: 抽象 封装和数据隐藏 继承 多态 代码的可重用性过程性编程考虑遵循的步骤,用户希望有哪些功能,我如何提供,如何存储数据。 面向对象编程首先考虑用户,确定一个对象的属性和操作这些属性的方法。用户接口有哪些。抽象—-》类相当于自己定制的一个新的类型,这个类型的属性和可以对这些属性进行的操作 接口就是将人的意图转换为存储在计算机中的具体信息。类的组原创 2017-10-22 11:26:12 · 295 阅读 · 0 评论 -
第十一章:使用类
局部变量和临时对象不能作为返回值operator+() operator*()重载运算符的限制: 重载的运算符必须有一个操作数是用户自定义的类型 使用运算符是不能违反运算符原来的句法规则 不能创建新运算符 不能重载以下运算符 sizeof . * :: ?: typeid const cast dynamic cast reinterpret static cast 大多数的可以重载的运算符都可原创 2017-10-23 10:58:59 · 217 阅读 · 0 评论 -
第十二章:类和动态内存分配
静态变量的使用 类中的静态变量不属于任何对象,是共享变量 在类的方法实现的文件中初期化类的静态变量。 不能在类声明中初期化静态成员变量。 static int a = 0; //wrong static const int a = 0; //right static const修饰的类成员可以进行初期化。因为const变量的初期化只执行一次。 int StringBad::num_string原创 2017-10-23 11:08:17 · 154 阅读 · 0 评论 -
第十三章:类继承
构造函数使用初始化列表的好处 构造函数使用初始化列表初始化类对象数据成员:直接调用类对象的复制构造函数。 不用初始化列表是先调用默认构造函数,再调用赋值运算符重载函数。 string类有一个将const char *作为参数的构造函数。 “hello”字符串返回的是char * string类对象接收char ,调用将const char 作为参数的构造函数 string类对象接收string原创 2017-10-23 11:22:31 · 238 阅读 · 0 评论 -
第十四章:C++的代码重用
通常保护和私有继承用于实现has-a关系 公有继承实现is-a关系抽象基类是为了抽象出类之间的相同部分类模板和函数模板是为了实现代码重用使用explicit防止单参数构造函数的隐式转换。使用const限制修改数据。 根本原因:在编译阶段出现的错误优于在运行阶段出现的错误。数据成员被初始化的顺序取决于声明的顺序而不是初始化列表的顺序私有继承私有继承只能使用一个类对象 私有继承派生类可以重新定义虚原创 2017-10-23 11:35:31 · 218 阅读 · 0 评论