c++
Janskid
这个作者很懒,什么都没留下…
展开
-
初学c++の命名空间
1、命名空间: (1)、概念 命名空间将全局作用域分成不同的部分 不同命名空间中的标识符可以同名而不会发生冲突 命名空间可以相互嵌套 全局作用域也叫默认命名空间 (2)、原因 一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突;(3)、代码(从代码中看使用方法原创 2017-09-13 20:45:09 · 292 阅读 · 0 评论 -
c++构造函数
一、构造函数:函数名和类名相同的函数; (1)意义: 他的作用是给成员变量进行赋值,也就是之前你的成员变量都是在主函数里边一个一个的初始化进行赋值,现在写个函数一次性把该赋的值都赋了。(2)多种定义方式(多种传参方式): 构造函数的三种定义方法: //1、直接定义对象(括号法) //2、等号方法 //3、手动构造(函数名作为右值)(3)调用时机 自动调用,也就是当遇到需要调用构造函数的原创 2017-09-22 20:55:54 · 761 阅读 · 0 评论 -
c++基础の引用、const
一些c++对于c语言的加强 1、int fun()在c语言中表示返回值int型的函数,括号里的参数是任意的; 但是在c++中也表示int 型返回值的函数,但是括号里是没有参数的相当于int fun(void) 也就是说在c++中他强调的是类型,所有程序的所有元素都必须指明类型;2、c++中的表达式的返回值是变量本身,而不是变量的一个值,所以可以把返回值当作左值来使用 例如:(a > b? a原创 2017-09-16 15:48:05 · 282 阅读 · 0 评论 -
c++の对象初始化列表
1、对象初始化列表出现原因 (1).必须这样做: 如果我们有一个类成员,它本身是一个类或者是一个结构,而且这个成员它只有一个带参数的构造函数,没有默认构造函数。这时要对这个类成员进行初始化,就必须调用这个类成员的带参数的构造函数, 如果没有初始化列表,那么他将无法完成第一步,就会报错。(2)、类成员中若有const修饰,必须在对象初始化的时候,给const int m 赋值 当类成员中含有一原创 2017-09-25 21:37:56 · 361 阅读 · 0 评论 -
模版函数
一、函数模版 1、概念: C++提供了函数模板(function template)。 所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。 这个通用函数就称为函数模板。 凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。 在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。原创 2017-09-26 17:13:57 · 432 阅读 · 0 评论 -
c++のstatic静态成员、对象的动态创建和释放
1、静态成员变量 (1)核心思想 静态成员变量的初始化必须在类的外部,也可以通过对象直接进行赋值; 静态函数的只能使用静态成员变量,不能使用其他普通的成员变量; (2)代码例子边看边讲解#include <stdio.h>class Test11{public: Test11 (int b) { m_b = b; } void print(原创 2017-09-18 20:59:29 · 3751 阅读 · 0 评论 -
类型转换和异常处理
一、类型转换 1、c语言的转换 在c语言中存在隐性转换,所谓隐性准换就是编译器在运行程序的时候自动的帮你转换了类型; 例如: int a = 10; double d = 2.1; a = d;//c语言中的隐性转换; char ch = (char) a; //c语言中的强制转换2、c++中的类型转换 (1)、static_cast (1_1)用于基本类型之间的转换,但是!不可以原创 2017-09-28 14:53:22 · 2955 阅读 · 0 评论 -
c++、类、对象
1、面对对象 特点:抽象,封装(面对对象最基本的特性),继承,多态 缺点:运行效率会下降10%左右,(直接对对象进行操作,编译器需要做好多的额外的工作)封装:把数据(属性)和函数(操作)合成一个整体;成了类2、类:用class来定义(参考结构体的struct),当然类的使用和结构体的使用几乎是一样的; (1)、类封装了属性(成员变量),封装方法(成员函数); (2)、类有访问控制字(也就是类原创 2017-09-20 20:46:52 · 292 阅读 · 0 评论