C++类和对象的特性(谭浩强8.2-8.4)

例8.2 利用Time类,定义多个对象,分别输入和输出对象中的时间:

#include <iostream>
using namespace std;
class Time
{
public:
	int hour;
	int minute;
	int sec;
};
int main()
{
	void set_time(Time&);
	void show_time(Time&);
	Time t1;
	set_time(t1);
	show_time(t1);
	Time t2;
	set_time(t2);
	show_time(t2);
	return 0;
}
void set_time(Time&t)//形参t是引用变量
{
	cin >> t.hour;
	cin >> t.minute;
	cin >> t.sec;
}
void show_time(Time&t)//形参t是引用变量
{
	cout << t.hour << ":" << t.minute << ":" << t.sec << ":" << endl;
}

执行结果如图:
在这里插入图片描述
例8.2c,数据成员的值可以不由键盘输入,而在调用函数时由实参给出,并在函数中使用默认参数:

#include <iostream>
using namespace std;
class Time
{
public:
	int hour;
	int minute;
	int sec;
};
int main()
{
	void set_time(Time&,int hour=0,int minute=0,int sec=0);
	//函数声明,并且指认了默认参数
	void show_time(Time&);
	Time t1;
	set_time(t1,12,23,34);//通过实参传值
	show_time(t1);
	Time t2;
	set_time(t2);//使用默认的值
	show_time(t2);
	return 0;
}
void set_time(Time&t,int hour,int minute,int sec)
{
	 t.hour=hour;
	 t.minute=minute;
	 t.sec=sec;
}
void show_time(Time&t)
{
	cout << t.hour << ":" << t.minute << ":" << t.sec << ":" << endl;
}

执行结果如图:
在这里插入图片描述
例8.3 上例中的例子也可以使用:含成员函数的类来处理

#include <iostream>
using namespace std;
class Time
{
public:
	void set_time();//公用成员函数
	void show_time();//公用成员函数
private:
	int hour;
	int minute;
	int sec;
};
int main()
{
	Time t1;
	t1.set_time();
	t1.show_time();
	Time t2;
	t2.set_time();
	t2.show_time();
	return 0;
}
void Time::set_time()//在类外定义show_time()函数
{
	cin >> hour;
	cin >> minute;
	cin >> sec;
}
void Time::show_time()//在类外定义show_time()函数
{
	cout <<hour << ":" << minute << ":" << sec << ":" << endl;
}

执行结果和例8.2是一样的。
例8.4 找出一个整型数组中元素的最大值:

#include <iostream>
using namespace std;
class Array_max
{
public:
	void set_value();
	void max_value();//公用成员函数
	void show_value();//公用成员函数
private:
	int array[10];
	int max;
};
void Array_max::set_value()
{
	int i;
	for (i = 0; i < 10; i++)
		cin >> array[i];
}
void Array_max::max_value()
{
	int i;
	max = array[0];
	for (i = 1; i < 10; i++)
		if (array[i]>max)max = array[i];
}
void Array_max::show_value()
{
	cout << "max=" << max;
}
int main()
{
	Array_max arrmax;//定义类对象arrmax
	arrmax.set_value();//调用arrmax的set_value函数,向数组元素输入数值
	arrmax.max_value();
	arrmax.show_value();
	return 0;
}

执行结果如图:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值