- 面向对象程序设计方法
- 面向对象语言的发展历程
- 从客观事物抽象出类的例子
- 类成员的可访问范围
- 内联成员函数和重载成员函数
- 构造函数
面向对象程序设计方法
程序 = 数据结构 + 算法
程序 = 变量 + 函数
面向对象语言的发展历程
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190921155510598.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lrd2p0,size_16,color_FFFFFF,t_70
从客观事物抽象出类的例子
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019092115582715.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lrd2p0,size_16,color_FFFFFF,t_70
#include <iostream>
using namespace std;
class CRectangle {
public:
int w,h;
void init(int w_, int h_){
w = w_; h=h_;
}
int Area(){
return w*h;
}
int Perimeter(){
return 2*(w+h);
}
};//必须有分号
int main(){
int w,h;
CRectangle r; //r 是一个对象
cin >>w>>h;
r.init(w, h);
cout<<r.Area()<<endl<<r.Perimeter();
return 0;
//类定义的变量-> 类的实例-> "对象"
}
引用就是它的一个别名。
类的成员函数的实现如下所示,需要使用 类名:: 来说明这个函数是属于这个类的实现。他不是一个普通的函数,并且也不能通过普通函数的调用方式进行调用,需要通过 对象/对象指针/对象的引用 来调用
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190921161631545.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lrd2p0,size_16,color_FFFFFF,t_70
类成员的可访问范围
内联成员函数和重载成员函数
构造函数
构造函数的作用是对对象的初始化,比如给成员变量赋初值。虽然叫构造函数,但是对象所占用存储空间不是构造函数分配的,构造函数其实是在对象已经占用存储空间以后,在存储空间里面做一些初始化的工作。如果把对象比作房子的话,构造函数不盖房子,他只是等房子盖好以后进去装修。
自己写构造函数:
多个构造函数,调用哪一个构造函数要看调用的情况。