C++第一步介绍
1. 结构化的程序设计的数据和程序代码是分离的,而面向对象程序设计将数据和操作数据的程序代码绑在一起构成对象。
2. 面向对象程序设计中的基本术语主要有,对象,类,实例,属性,消息,方法等。
对象:属性+行为
(1)有一个名字以区别于其他对象
(2)有一个状态用来描述它的某些特征,这个状态称为属性
(3)有一组操作,每个操作决定对象的一种功能或者行为,包括自身的或者施加其他对象的操作
类:一组具有相同数据和相同操作的一组对象的集合
实例:某个特性的类所描述的一个具体的例子
属性:是类中所定义的数据,他是对客观世界实体所具有的性质的抽象
消息:对象之间的联系是通过消息传递来实现的,分为公有消息(外界发送给自己的)跟私有消息(自己发送给自己的)。
(1)同一个对象可接受不同形式的多个消息,产生不同的响应
(2)相同形式的消息可以发给不同的对象
(3)消息的发送可以不考虑具体的接收者,对象可以响应消息,也可以不予理会
方法:对象所能执行的操作或所具有的行为
多态性:通过重载和虚函数两个方面来实现多态性,重载称为编译时的多态性,虚函数称为运行时的多态性。
******引用******
引用:在变量声明时出现的&才是引用说明符 int & b= a
建立引用注意事项
int a,b[8];
int &&aa=a; //错误,aa是引用的引用
int &ib[6]; // 错误,ib是引用数组
int &bb=b; //错误,bb是数组的引用指针
int &*ap=a; //错误,ap 是指向引用的指针
int *pi=&a;
int *&pr=pi; // 正确,pr是指针的引用
******带有默认参数的函数*****
int add(int i, int j=5, int k) // 错误,一旦某个参数取默认值,其右面的所有参数都必须指定默认值
add(, 5, 4) // 错误,不允许某个参数省略后,再给其右面的参数指定参数值
******内联函数*****
如果一个函数被定义为内联函数,在编译时,C++将用内联函数程序代码替换对它每次的调用。
inline 返回值类型 函数名(形式参数)
{
}
注意:
(1)内联函数体内不能有循环语句和switch语句
(2)内联函数必须声明在第一次调用以前
(3)在类内定义的成员函数被默认认为内联函数
******返回引用******
int add(int x, int y)
{
return x+y; //正确
}
int & add(int x, int y)
{
return x+y; // 错误,当函数返回一个引用时,不可以使用表达式
}