本文共 1649 字,大约阅读时间需要 5 分钟。
类是定义同一类所有对象的变量和方法的原型,对象是具体的实例。
类是抽象地,对象是具体的,原来一直不理解,现在才理解,其实很简单,这应该是从内存的角度出发的,最近在看操作系统,你新建一个类,这个类只有代码,这部分代码占据代码空间,而且代码是共享的,但是没有具体的内存空间,比如变量的空间,而实例化了对象之后呢,这个对象就有了内存空间,实实在在地空间,所以说类是抽象地,对象是具体的。
下面用实例来说明类:
新建一个始终类:Clock.h Clock.cpp 一个测试程序:main.cpp
- # ifndef _Clock_H_
- # define _Clock_H_
-
- class Clock
- {
- public:
- void Display();
- void Init(int hour, int minute, int second);
- void Update();
-
- int GetHour();
- int GetMinute();
- int GetSecond();
-
- void SetHour(int hour);
- void SetMinute(int minute);
- void SetSecond(int second);
-
- private:
- int hour_;
- int minute_;
- int second_;
- };
-
- # endif
下面是Clock.cpp的代码:
- # include "Clock.h"
- # include <iostream>
- using namespace std;
-
- void Clock::Display()
- {
- cout <<hour_<<":"<<minute_<<":"<<":"<<second_<<endl;
- }
-
- void Clock::Init(int hour, int minute, int second)
- {
- hour_ = hour;
- minute_ = minute;
- second_ = second;
- }
-
- void Clock::Update()
- {
- second_++;
- if(second_ == 60)
- {
- minute_++;
- minute_ = 0;
- }
- if(minute_ == 60)
- {
- hour_++;
- minute_ = 0;
- }
- if(hour_ == 24)
- {
- hour_ = 0;
- }
- }
-
- int Clock::GetHour()
- {
- return hour_;
- }
-
- int Clock::GetMinute()
- {
- return minute_;
- }
-
- int Clock::GetSecond()
- {
- return second_;
- }
-
-
- void Clock::SetHour(int hour)
- {
- hour_ = hour;
- }
-
- void Clock::SetMinute(int minute)
- {
- minute_ = minute;
- }
-
- void Clock::SetSecond(int second)
- {
- second_ = second;
- }
下面是main.cpp测试程序的代码:
- # include "Clock.h"
- # include <iostream>
- using namespace std;
-
- int main(void)
- {
- Clock c;
- cout<<"调用类初始时钟接口: ";
- c.Init(22,14,10);
- c.Display();
-
- cout<<"调用类更新接口更新时钟时间: ";
- c.Update();
- c.Display();
-
- cout<<"调用类接口改变时钟: ";
- c.SetHour(10);
- c.SetMinute(20);
- c.SetSecond(50);
- c.Display();
-
- cout<<endl;
-
-
- return 0;
- }
运行结果:
转载地址:http://gcwzl.baihongyu.com/