类和对象@C++

对象是类的实例

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

 

设计一个类意味着什么

 设计类就是设计类型

  此类型的合法值

  内涵的操作符和函数

  该类型的对象如何被创建和销毁

  对对象进行初始化和赋值

  对象作为函数的参数如何传递

  谁使用该类的对象

 

 

类定义的语法

 

class name {
public://共有成员,外部接口,任何外部函数都可以访问
private://私有成员,对外屏蔽,只允许本类中函数访问,外部函数无法访问(一般情况)  但外部函数可以通过访问public进而访问private   如果 类名称后直接声明(即"{"后)  私有成员可以不使用关键字private
protected://保护性成员 与private类似 与private的差别在继承和派生时体现
};//类中成员可以互相访问,直接使用成员名即可
//类外访问成员 使用对象名.成员名的方式访问public

可以给数据成员设定初始值以初始化

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

类没有直接功能 比如说,学生是一个类,但这个抽象概念无法实现具体功能,要实现具体功能 需要定义对象 学生A正在看书

如果要使用类内的功能,必须通过对象

定义对象 如

Clock myClock;

类的成员函数

  在类中声明函数原型

  可以在类外给出函数体,但必须在函数名前加上类名以限定   也可以   直接在类内给出函数体,形成内联函数成员

          内联成员函数 把函数体放在类的声明中  放在类外,但使用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;
}

 

posted on 2018-03-02 09:55  晴未  阅读(101)  评论(0编辑  收藏  举报