zoukankan      html  css  js  c++  java
  • C++第十四课 面向对象

    一、面向过程程序设计

    程序主要由一个个函数组成。

    函数的调用过程和算法的解题步骤之间有密切的对应关系。

    二、面向对象程序设计

    程序由类组成。

    程序运行时,多个“对象”彼此协作完成各种功能。

    “对象”通常与物理世界的事物有一定的对应关系。

    三、类与对象

    1.类的定义:类与结构体相似,是一种自定义数据类型。类一般包含数据成员和方法成员。一般形式如下:

    class 类名 {

    public:

       类型 数据成员;

       类型 方法成员();

    private:

       类型 数据成员;

       类型 方法成员();

    }; 

    数据成员(又叫成员属性)用于描述实体的属性。

    方法成员(又叫成员函数)对应施加在属性上的操作。

    2.对象的定义:定义对象的效果是在内存中为对象分配一片存储区域。

    每个数据成员占据该对象存储区域的一部分。

    每个方法成员存储在类的公共区域内,每个对象不必各自存储。

    3.对象的使用:通过成员运算符“.”访问数据成员和方法成员。

    4.指向对象的指针通过“->”引用成员。

    5.共有成员和私有成员:

    public限定名下的公共成员既可以供成员函数访问,也可以在类外部访问;private限定名下的私有成员只能供成员函数访问。

    6.类外定义成员函数:

    float Student::averageSocre() //::作用域限定符

    四、构造函数

    1.构造函数是负责对象初始化的成员函数。特点是:

    函数名与类名相同;

    在定义对象时自动执行一次,不能直接调用它;

    不返回任何值;

    如果类定义中没有构造函数,则编译器会自动生成一个构造函数。这个构造函数的函数体是空的,也没有参数。

    2.可以用参数初始化表对数据成员初始化。

    Box∷Box(int h, int w, int len):

       height(h),width(w),length(len){ }

    3.函数同名叫重载

    五、析构函数

    1.析构函数是释放对象时会自动执行的函数。

    析构函数的名字是类名前加“~”;

    一个类只能有一个没有参数的析构函数。

    六、类的继承和派生

    所谓“继承”就是在一个已定义的类(叫基类或父类)的基础上建立一个新的类(叫派生类或子类)。定义派生类的写法如下:

    class 派生类名: public 基类名

    {

          //派生类新增加的成员

     类型 数据成员;

     类型 方法成员;

    } ;

    注意:

    (1)派生类不能访问基类的私有成员;

    (2)“class Master:public Student”中的public可替换成private, protected;

    (3)派生类可以被更低级别的派生类继承,形成多级继承。

    七、总结

    1.面向对象程序设计有4个主要特点:

    抽象 即概括、归纳

    封装 类是数据和操作的封装

    继承 派生类继承基类

    多态性

    好处:增强了可重用性,减少编程工作量。

  • 相关阅读:
    [題解]51nod_1515_明辨是非
    任务调度问题(贪心) hdu4864
    B站学习记:贪心与博弈
    poj1505(二分+贪心)
    温故知新:互质排列
    Radar Installation(利用数据有序化进行贪心选择)
    Wooden Sticks(贪心)
    计算a除b的第一位小数 in C++.
    龙龙的暑假贪心算法大冒险
    HDU-2037(贪心)
  • 原文地址:https://www.cnblogs.com/leopotter/p/4963854.html
Copyright © 2011-2022 走看看