类与对象的介绍

系统地介绍一下类与对象的定义,并能够给出程序举例。

  • Markdown和扩展Markdown简洁的语法

定义

对象是现实中的对象在程序中的模拟,类是对同一类对象进行概括得到的抽象。
对象是类的实例。

定义类的对象,才可以通过对象使用类中定义的功能。

设计类

  • 类定义的语法形式:
    类定义

  • 类内初始值
    可以为数据成员设置类内初始值,用于初始化数据成员。
    类内初始值举例

  • 类成员的访问控制
    公有类型成员
    私有类型成员
    保护类型成员

公有类型成员:
在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问共有类型数据和函数。

私有类型成员:
1、在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问
2、如果紧跟在类名称的后面声明私有成员,则关键字private可以省略

保护类型成员:
与private类似,其差别表现在继承与派生时对派生类的影响不同

  • 对象定义的语法:
    类名 对象名;
    eg: Clock myClock;

类中成员之间直接使用成员名互相访问

从类外访问成员使用"对象名.成员名"方式访问public成员

  • 类的成员函数:
    1、在类中声明函数原型;
    2、可以在类外给出函数体实现,并在函数名前使用类名加以限定
    3、也可以直接在类中给出函数体,形成内联成员函数
    4、允许声明重载函数和带默认参数值的函数

  • 内联成员函数:
    1、为了提高运行时的效率,对于较简单的函数可以声明为内联形式
    2、内联函数体中不要有复杂结构 (如循环语句和switch语句)
    3、在类中声明内联成员函数的方式:a) 将函数体放在类的声明中;b)使用inline关键字

举例—钟表类

#include <iostream>

using namespace std;

class Clock{
public:
    void setTime(int newH = 0, int newM = 0, int newS = 0);
    void showTime();
private:
    int hour, minute, second;
};

void Clock::setTime(int newH, int newM, int newS){
    hour = newH;
    minute = newM;
    second = newS;
}

void Clock::showTime(){
    cout << hour << ":" << minute << ":" << second;
}

int main(){
    Clock myClock;
    myClock.setTime(8, 30, 30);
    myClock.showTime();
    return 0;
}

输出的结果是:
8:30:30

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章