- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c零基础,入学笔记
题外之话:学习cpp就是学习一种编程思想:主要是怎样去构建一个对象,一群对象。语法很重要,但更重要的是一种思想。
说明:该文档可能在顺序上面有点不修边幅,但是是本人学习cpp过程中的总结:
本文档列罗顺序是:1:问题 2:教学信息
问题1:什么时候用初始化列表(该问题是在网上搜索的,参考前辈经验)
明其理,而知其然也.先给理论。1. 初始化 != 赋值. a.初始化代表为变量分配内存. 变量在其定义处被编译器初始化(编译时). 在函数中, 函数参数初始化发生在函数调用时(运行时). b.赋值代表擦除对象当前值, 赋予新值. 它不承担为对象分配内存的义务.2. C++中, 类成员的初始化于初始化列表中完成, 先于构造函数体执行. 即成员真正的初始化发生在初始化列表中, 而不是构造函数体中.再给说明。1. 如果类中有一个成员是一个引用, 由于引用必须给予初始值, 因此, 引用必须使用初始化列表.2. 同理, const属性必须给予初始值, 必须使用初始化列表.3. 继承类中调用基类初始化构造函数, 实际上就是先构造基类对象, 必须使用初始化列表.别的不再说明, 什么时候必须使用初始化列表是很明显的;另外, 简单的说, 任何时候都鼓励使用初始化列表, 一些别的事情(比如在构造函数中分配资源之类的, 请参考RAII, Resource Acquizition Is Initialization)可以放在构造函数体内完成
问题2:const这个修饰符社么时候用?
1,希望成员函数不改变成员的时候:比如:int A::print const {}2,不希望指针去改变指向的内存空间:比如: const int* p;3,不希望指针的指向被改变:比如: int *const p;4,还有就是引用。。
总共分为以下四天:
第一天:C转向CPP
第二天:析构函数和构造函数
第三天:访问权限和继承
第四天:cpp里面的多态
第一天:
c++中const定义的变量最好不要尝试用指针去修改,为什么要这样做??有什么意义?
C++中的强制转换多了两种:int (x) 和 int (x+y)
C++中使用cin和cout来对标准输入输出进行操作,包含头文件和明明空间:#include iostram using namespace std;
在c++中想要使用字符串就直接用string来定义,当然个人认为这其实就是c++在c的基础之上把指针和数组给封装了,因为本人是一个新手,上手快是最重要的目的,咬文嚼字是后面的事情,想在最主要的事情就是能够打印出helloworld就可以,还请大家指点
C++中也有内联函数
函数重载:就是函数名相同,但是函数参数不同,当然这个和函数返回值没有什么很大的关系;
字符串操作:定义字符串:string a = “hello”; string b =”world”
字符串操作:字符串连接:a+b;
字符串操作:比较字符串的大小:ab
在c的基础之上c++增加了引用:引用在表面上的意义就是给一个变量去一个别名:int a = 10;int b = a; b =20;//最后a的值也就变成了20;这就是引用,当然创建引用的优点就是在于函数传参的时候。
引用同指针的区别:引用能做的,指针也能做。应用和指针都能做的,引用要快一点;
成员函数定义放法:类名::方法();
this指针,每一个成员函数都有一个this指针(除了static修饰的全局成员函数除外);this指针只想现在正在创建的对象;建议,以后再写程序的时候建议写上this指针;
成员访问方式:现在我知道的有以下几种:对象名.成员名;引用.成语名;指针-成员名;类名::静态成员名;
构造函数:个人认为构造函数就是为对象分配空间的,当然构造函数也可以重载。当我们自定义了构造函数之后我们就必须在创建对象的时候调用一个构造函数,当然无参的构造函数可以不写。
第二天:
构造函数和析构函数没有返回值
析构函数有以下特点:~类名;无参数;不能够重载(构造函数可以;系统也有默认的析构函数)
对象数组的初始化:
Class st{
Public:
St();
St(int x);
St(int x, int y);
}
对象数组有以下三种初始化方法:
方法1:调用不用参数的构造函数
st stu[3];采用不用传入参数的构造函数
方法2:调用直传一个参数的构造函数
St stu[3]={1,2,3};或者st stu[3]={st(1),st(2),st(3)};
方法3:调用传入多个参数的构造函数
St stu[3] = {st(1,2) ,st(3,5),st(6,7) };
下面几个主要
文档评论(0)