2016年8月25日
摘要: 基类的构造函数不能被继承,在声明派生类时,对继承过来的成员变量的初始化工作也要由派生类的构造函数来完成。所以在设计派生类的构造函数时,不仅要考虑派生类新增的成员变量,还要考虑基类的成员变量,要让它们都被初始化。 解决这个问题的思路是:在执行派生类的构造函数时,调用基类的构造函数。 下面的例子展示了如 阅读全文
posted @ 2016-08-25 10:46 白宫飘红旗 阅读(283) 评论(0) 推荐(0) 编辑
  2016年8月24日
摘要: (1)函数指针 函数指针就是指向函数的指针变量,即本质是一个指针变量。 指向函数的指针包含了函数的地址,可以通过它来调用函数。声明格式如下: 类型说明符 (*函数名)(参数) (2)指针函数 指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 阅读全文
posted @ 2016-08-24 18:19 白宫飘红旗 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 如果派生类中的成员变量和基类中的成员变量重名,那么就会遮蔽从基类继承过来的成员变量。所谓遮蔽,就是使用新增的成员变量,而不使用继承来的。 成员函数也一样,如果函数名和参数签名都相同,就会造成遮蔽。如果仅仅是函数名相同,而参数签名不同,那么会构成重载。 请看下面的例子: 本例中,基类 People 和 阅读全文
posted @ 2016-08-24 10:17 白宫飘红旗 阅读(405) 评论(1) 推荐(0) 编辑
  2016年8月23日
摘要: C++继承的一般语法为: 继承方式限定了基类成员在派生类中的访问权限,包括 public(公有的)、private(私有的)和 protected(受保护的)。此项是可选的,如果不写,默认为 private 或 protected。 1) public继承方式 基类中所有public成员在派生类中为 阅读全文
posted @ 2016-08-23 22:24 白宫飘红旗 阅读(1683) 评论(0) 推荐(0) 编辑
摘要: 继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。 继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的过程。例如类B继承于类A,那么B就拥有A的成员变量和成员函数。被继承的类称为父类或基类,继承的类称为子类或派生类。 派生 阅读全文
posted @ 2016-08-23 21:46 白宫飘红旗 阅读(265) 评论(0) 推荐(0) 编辑
  2016年8月22日
摘要: C++保留了C语言的 struct,并且加以扩充。在C语言中,struct 只能包含数据成员,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含数据成员,又可以包含成员函数。 在C++中,没有抛弃C语言中的 struct 关键字,其意义就在于给C语言程序开发人员有一个归属感 阅读全文
posted @ 2016-08-22 21:10 白宫飘红旗 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 友元函数和友元类在实际开发中较少使用,想快速学习C++的读者可以跳过本节。 一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。现在,我们来补充介绍一个例外——友元(friend 阅读全文
posted @ 2016-08-22 20:54 白宫飘红旗 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 如果你是Java、C#、PHP程序员,那么会对 new 非常熟悉,在这些编程语言中,只能通过 new 来创建对象。 在C++中,你可以像定义变量一样来创建对象,如: 这种情况下,系统会在栈区为对象分配内存。栈区是内存中的一块区域,由系统自动分配和释放,程序员无法操控,一般用来存放函数的参数值、局部变 阅读全文
posted @ 2016-08-22 14:31 白宫飘红旗 阅读(404) 评论(0) 推荐(0) 编辑
  2016年8月21日
摘要: 一般情况下,如果有N个同类的对象,那么每一个对象都分别有自己的成员变量,不同对象的成员变量各自有值,互不相干。但是有时我们希望有某一个或几个成员变量为所有对象共有,这样可以实现数据共享。 可以使用全局变量来达到共享数据的目的。例如在一个程序文件中有多个函数,每一个函数都可以改变全局变量的值,全局变量 阅读全文
posted @ 2016-08-21 22:55 白宫飘红旗 阅读(302) 评论(0) 推荐(0) 编辑
摘要: this 是C++中的一个关键字,也是一个常量指针,指向当前对象(具体说是当前对象的首地址)。通过 this,可以访问当前对象的成员变量和成员函数。 所谓当前对象,就是正在使用的对象,例如对于stu.say();,stu 就是当前对象,系统正在访问 stu 的成员函数 say()。 假设 this 阅读全文
posted @ 2016-08-21 14:08 白宫飘红旗 阅读(360) 评论(0) 推荐(0) 编辑