计算机程序设计c++ 9-2:类的定义

类的定义

格式

class <类名>
{
	private: //私有成员
		<数据成员说明语句>;
		<函数成员说明语句>;
	public: //公有成员
		<数据成员说明语句>;
		<函数成员说明语句>;
	protected: //保护成员
		<数据成员说明语句>;
		<函数成员说明语句>;
};

例子: 实体钟表如何抽象描述

  • 特征:即数据成员
    • 时、分、秒
    • 型号、生产厂、出厂日期、价格等
  • 功能:即函数成员
    • 设置时间
    • 钟表运转或运行
    • 报时响铃
    • 显示时间
    • ……

定义钟表类


class Clock  //定义钟表类
{
	private:  //数据成员一般为私有
		int Hour;      //小时属性
		int Minute;    //分钟属性
		int Second;    //秒属性
		float Price;   //价格属性
	public:
		void Set(int h, int m, int s, float p);  //设置时间操作
		void Run();   //钟表运转操作
		void Show_time();  //报时响铃操作
		void Report_time();  //显示时间操作
}

上述只是把框架搭起来了,下面需要定义成员函数。
成员函数定义方法
类定义的语法格式

class <类名>
{
	<类体>
};
  • 1.在类体内直接定义函数成员,该成员函数又称内联函数
    • 在类体内定义内联函数等同一般函数定义格式
  • 2.在类体外定义函数成员
    • 在类体外定义成员函数的一般形式如下:
<类型> <类名> :: <函数名> (<参数表>)
{
	<函数体>
};

:: 作用域符号

类联函数定义方法:

class Clock
{
	private:
		int Hour;
		int Minute;
		int Second;
		float Price;
	public:
		void Set(int h, int m, int s, float p);
		void Run();
		void Report_Time();
		void Show_Time(){cout << Hour << ":" << Minute << ":" << second;};
};

类外定义成员函数方法

void Clock::Set(int h, int m, int s, float p)
{	
	Hour = h;
	Minute = m;
	Second = s;
	Price = p;
}

void Clock::Run()
{
	int i=0;
	for(i;i<10;i++) //只模拟运行10秒钟
	{
		Second++;
		if(Second==60)
		{
			Second = 0;
			Minute++;
			if(Minute==60)
			{
				Minute=0;
				Hour++;
				if(Hour==24)
				{
					Hour = 0;
				}
			}
		}
		cout << '\r'; 
		sleep(1000); //程序暂停运行1000毫秒
		Show_time();
	}
}

void Clock::Report_Time()
{
	Show_Time();
	if(Minute==0 && Second==0)
	{
		for(int i=0; i<Hour; i++)
		{
			cout << "\007";  // 蜂鸣器
			Sleep(1000);
		}
	}
}

Guess you like

Origin blog.csdn.net/uncle_ll/article/details/121365571