- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
天精通C
『21天精通C++』第一周学习笔记
第一天:面向对象程式的设计把数据封装在一个安全的外壳中,并使他们具有活动性,变量能主动的对自己进行操作而非被动等待程式代码对他操作。当需要打印变量内容时你不必进行打印他们,只需要告诉变量进行打印自己。 ?上面说的变量和面向对象中说的对象理论上没有什么差别,只是C++这种OPP语言使数据具有了行为。 ?在C++中对象通常是指用户自定义的数据类型的类变量或结构变量,用户能通过向这种数据类型添加函数使这个变量具有行为。 第二天:在学习C++之前用来定义自己的数据类型大概有以下三种方法:结构:struct;枚举:enum;联合:union通常把他们称为集合数据类型。 ?当定义一个变量赋值后从未使过编译时会警告,但程式能通过。 ?函数是构成C++程式的主要部分。将程式分解为一些独立的模块,这些模块就称为函数,函数能使程式的结构模块化。 ?所有的函数都必须进行原型声明,函数原型声明能放在头文件中。负责告诉编译器函数中将要使用的参数的个数和类型。格式如下: ?? 函数类型 函数名(参数类型1 参数1[,参数类型2 参数2] [,......]); ?函数的第一行和函数原型声明相同,差别只是最后的没有分号。 ?函数的参数传递: ?一种方法是用值传递,比较好理解,更有一种是传递实参的方法,及在引用调用函数方式时,将向函数传递参数的地址而不是参数的实际值。这样的好处是函数能返回多个值。 ?函数原型防止程式输出时潜在的错误。 ?主函数不必原型说明,因他被看作是个自动说明原型的函数,主函数是第一个被执行的函数,且他不存在被别的函数调用的问题。 第三天:在使用IO流时需要头文件IOSTREAM,当时用流操纵算子和格式标志时需包含IOMANIP。 ?指针真正的作用是用指针在两个函数之间传递参数,和在堆中动态的分配内存。 ?void指针是全程指针,他能指向任意的数据类型,除了const和volatile类型的指针外所有类型的指针变量都能赋值给void类型的指针,甚至包括函数指针。 ?int i;//定义一个整形变量 ?int * ptrl;//定义一个指向整形的指针,也能不严格的叫整型指针 ?i=10; ?ptrl=i;//是取地址运算符,本例是将整型变量i的地址置于ptrl变量中 ?注意,void类型的指针在引用时必须强制进行类型转换,而且把他们赋值给其他类型时也必须进行类型转换。反过来一个普通的类型指针能直接赋值给void类型。在进行强制类型转换时必须把星号和类型转换用括号括起来。 iptr=(int *)vptr; ?以上讨论同样适合两个函数之间的用不同类型的指针传递参数 第四天:引用是自动的能间接引用的一种指针。自动间接引用的意思是能自动得到一个引用值而不必使用间接引用操作符*。引用产生变量的另一个别名。引用的作用是通过引用在函数之间传递和返回参数。 ?int i=9;//定义一个整数变量i并把9赋值给他 ?int *iptr=i;//定义一个整数指针变量iptr并将整数变量的地址赋值给他 ?int rptr=i;//定义一个引用rptr并让他指向整数变量i,也就是rptr是i的一个别名,所有对rptr的操作都是对 ?//rptr引用的变量i的操作。 ?如果要使用iptr所制的变量i,必须用*间接引用指针,而使用引用rptr所引用的变量i则什么都不用直接使用rptr就行。 ?用定义一个引用; ?象使用一个自用间接引用的指针相同使用引用; ?为了简化多重指针的语法引用能引用一个指针; ?在定义一个引用时一定要初始化; ?不要用*来间接引用一个引用; ?一个引用只是依附在其所指变量的一个别名,这种依附在引用的作用范围内保持不变。 ?const int myage=18; ?//指向常数的指针:定义一个指针指向一个常数(虽然指向的不一定是常数)。 ?const int * aptrage=myage; ?//常数指针:定义一个不能改动的指针,但他指向的值能改动,同常数相同必须在定义常数指针的时候进行初始化。 ?int * const aptrage=myage; ?//指向常数的常数指针:前两者结合。 ?const int * const aptrage=myage; ?用const来保护不应改动的值; ?不能通过指针改动一个常数; ?常数指针不可改动; ?不能改动一个指向常数的常数指针和他指向的常数。 ?只读引用(只读别名):一个指向常数的引用; ?int iv=18; ?const int rv=ic;//定义一个指向常数iv的引用,不允许通过rv改动iv因是只读引用。 ?练习: ?# include ?main
文档评论(0)