随笔分类 -  C++ 基础

摘要:谨记:在C语言中,当两种不同类型之间运算时,低字节长度类型会向高自己长度类型转换,有符号会向无符号类型转换。 举例子如下: 输出: -1 <= 1 -1 <= 1 当C2与i进行比较时,由于C2是有符号8位,i是无符号32位,根据C语言的规则,c2被转换成32位,即-1的补码,故会得出-1>1的结论 阅读全文
posted @ 2016-08-19 23:00 xyecho 阅读(711) 评论(0) 推荐(0)
摘要:看一些关于虚函数的博客,做了一些总结,列出一些要点备忘。想必,这些也只有我自己了解,毕竟这是我自己想要的。 1.C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。2. 虚函数(Virtual Functio 阅读全文
posted @ 2012-06-05 23:26 xyecho 阅读(944) 评论(3) 推荐(2)
摘要:this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子: void Date::setMonth(int mn ) { month= mn;// 这三句是等价的 this->month= mn; (*this).month= mn; }1. this只能在成员函数中使用。2. 全局函数,静态函数都不能使用this。3. 实际上,成员函数默认第一个参数为T* const registerthis。 如: class A{public:int func(int p){}}; 其中,func的原型在编译器看来应该是:int func(A* const registe.. 阅读全文
posted @ 2012-06-05 00:28 xyecho 阅读(1199) 评论(0) 推荐(0)
摘要:成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual关键字。“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。(这里与覆盖唯一区别是在于有 阅读全文
posted @ 2012-06-04 14:03 xyecho 阅读(2266) 评论(0) 推荐(1)
摘要:1virtual的目的是启用动态绑定。除了构造函数数之外,任意非static成员函数都可以虚函数。Virtual只在类的成员函数声明中出现,不能用在类定义体外部出现的函数定义上。2public成员能访问,private不能访问,只能由本类的成员和友元访问。protected像private成员一样,... 阅读全文
posted @ 2012-06-04 02:58 xyecho 阅读(527) 评论(0) 推荐(0)
摘要:参数的规则(a)参数的书写要完整,不要贪图省事只写参数的类型而省略参数名字。如果函数没有参数,则用void填充。(b)参数命名要恰当,顺序要合理。例如编写字符串拷贝函数StringCopy,它有两个参数。把参数名字起为strSource和strDestination。这样从名字上就可以看出应该把strSource拷贝到strDestination。(c)如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。(d)如果输入参数以值传递的方式传递对象,则宜改用“const&”方式来传递,这样可以省去临时对象的构造和析构过程,从而提高效率。(e)避免函数有 阅读全文
posted @ 2012-06-04 02:33 xyecho 阅读(1130) 评论(0) 推荐(1)
摘要:这是我刚开始学编程里整理的一篇总结,主要是来源一本叫《高质量c/c++编程》的书,很多年过去了,重新复习一下。1、malloc()malloc()函数用来分配内存:将总共需要的字节数作为参数传递给该函数,返回值是指向最新分配的内存的指针,而如果内存没有分配好,则返回值是NULL。malloc()的使用技术:some_type*pointer;pointer=malloc(count*sizeof(*pointer));注:(1)这个方法保证malloc()会分配正确数量的内存,而不用考虑pointer的生命。如果pointer的类型后来变了,sizeof算子自动确保要分配的字节数仍然正确。(2 阅读全文
posted @ 2012-06-04 01:52 xyecho 阅读(5091) 评论(6) 推荐(6)
摘要:C++ 模板江西理工 FangSH 2010-10-1 若一个程序的是对某种特定的数据类型进行处理,则可以交所处理的类型说明为参数,以便在其他数据类型的情况下使用.这就是模板的由来.模板是以一种完全通用的方法来设计函数或类而不必能预先说明使用的每个对象的类型.模板可分为类模板(class template)和函数模板(function temlpate).模板的语法模板函数template 类型形参表返回类型 函数名(形参表){函数定义体;}"类型形参表"可以包含基本数据类型,也可以包含类类型;类型形参要加前缀class.且参数必须在"函数体中出现一次".对函数模板的说明和定义必须是全局作.. 阅读全文
posted @ 2010-10-01 13:14 xyecho 阅读(469) 评论(0) 推荐(0)