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

本文介绍了如何使用C++进行面向对象编程,通过创建钟表类(Clock)来抽象实体钟表的特征和功能。钟表类包含私有数据成员如小时、分钟、秒和价格,并提供了设置时间、钟表运转、报时和显示时间等公共函数成员。类定义后,分别展示了在类体内定义内联函数和在类体外定义成员函数的方法。这个例子深入浅出地阐述了面向对象编程的基本概念和实践。
摘要由CSDN通过智能技术生成

类的定义

格式

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);
		}
	}
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

uncle_ll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值