抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

C++自定义命名空间

使用关键字namespace

namespace namespace_name
{
    //代码声明
}

banner

数据抽象

数据抽象(data abstraction)是与面向对象(object-oriented)并列的一种编程范式(programming paradigm)。数据抽象也成为抽象数据类型(abstract data type/ADT)。
数据抽象是一种依赖于接口和实现分离的编程(设计)技术。

https://wizardforcel.gitbooks.io/sicp-py/content/2.2.html
http://wj196.iteye.com/blog/860303
https://blog.csdn.net/Solstice/article/details/6707148

C++类为数据抽象提供了可能。它们向外界提供了大量用于操作对象数据的公共方法,也就是说,外界实际上并不清楚类的内部实现。
数据抽象仅为用户暴露接口,而把具体的实现隐藏了起来

C++多态

C++的多态意味着调用成员函数时,会根据调用的对象的类型来执行不同的函数

编译时的多态,编译时就确定了具体的操作过程。
运行时的多态,程序运行过程中才确定的操作过程。
操作的过程即称为联编,也称为绑定。

派生类的构造函数

attention:

  • 在创建一个派生类的时候,系统会先创建一个基类。
  • 派生类会吸收基类的全部成员,但不包括构造函数和析构函数。
  • 派生类在调用自己的构造函数之前,会先调用基类的构造函数。

继承和派生

新类拥有原有类的全部属性为继承!原有类产生新类的过程为派生。

原有类称为基类,产生的新类称为派生类。
http://www.dotcpp.com/course/cpp/200027.html

继承方式(派生权限)

  • 公有继承
  • 私有继承
  • 保护继承

友元函数和友元类

友元的对象可以是全局的一般函数,也可以是其它类里的成员函数,这种叫做友元函数。
友元还可以是一个类,这种叫做友元类,这时整个类的所有成员都是友元

demo

类的构造函数(Constructor)和析构函数(Destructor)

类 & 对象

类是对象的抽象和概括,而对象是类的具体和实例

变量初始化问题

当局部变量被定义时,系统不会自动对其初始化;
当全局变量被定义时,系统会初始化为下列值:

数据类型 初始化默认值
int 0
float 0
double 0
char ‘\0’
pointer NULL

函数,默认参数的使用

在C++中,允许在自定义函数的形参列表中,给形参一个默认的值,这样在调用的时候如果有实参,那么按照实参传递给形参的方法使用;若调用的时候没有指定对应的实参,则形参将使用默认值。
由于参数的传递顺序是从右至左入栈,所以有默认值的参数必须在放在形参列表的最右边!