c++类的定义及使用

 

                                

实验四  类的定义及使用

版权声明:【本文为博主原创,未经博主允许不得转载】

任务描述:

1、设计一个计数器类(Counter),其数据成员包括计数器的值;成员函数包括:(1)初始化(要求使用带默认参数的构造函数实现);(2)计数器加1;(3)计数器减1;(4)显示计数器的值。

2、设计一个时间类(Time) ,其数据成员包括时,分,秒;成员函数包括:(1)加一秒;(2)按24小时制显示时间;(3)按12小时制显示时间。要求分别使用有参数,无参数的构造函数实现数据成员的初始化。

1、设计一个计数器类(Counter):

1、编写主函数main测试上述类,代码如下: 

int main()

{

Counter c(5);

c.add();

c.show();

c.sub();

c.show();

return 0;

本程序参考老师程序:
/************************************************
File:Experiment in c++
Time:2018-4-14
Author:han
************************************************/
#include <iostream>
using namespace std;
/************************************************************************/
/*	                    计数器类                                        */
/************************************************************************/
class Counter
{
public:
	Counter (int=0); //构造函数	
	void add(); 
	void sub();
	void show();
	
private: 
	int out;
};

Counter::Counter(int n):out(n){};//初始化列表。原先没有看懂这句的意思后来百度查询了:与::的区别。
/************************************************************************/
/*	                      累加函数                                        */
/************************************************************************/
void Counter::add()
{
	out++;
}
/************************************************************************/
/*	                      累减函数                                        */
/************************************************************************/
void Counter::sub()
{
	out--;
}
/************************************************************************/
/*	                      显示函数                                        */
/************************************************************************/
void Counter::show()
{
	cout<<"The num of counter is "<<out<<endl;
}
/************************************************************************/
/*	                     主函数                                        */
/************************************************************************/
int main() 
{ 
	Counter c(5); 
	c.add(); 
	c.show(); 
	c.sub(); 
	c.show(); 
	return 0; 
} 

2、设计一个时间类(Time),并用不同的构造函数实现成员初始化:

 

class Time

{

public:

Time (int h=0, int m=0, int s=0);

void add();

void normalshow();

void universialhour();

private:

/*int out;*/

int hour;

int minute;

int second;

};

/************************************************************************/

/* c初始化列表                                                                     */

/************************************************************************/

Time::Time(int h, int m, int s): hour(h),minute(m),second(s){};

 

 时间类具体程序:

 /************************************************ File:Experiment in c++ Time:2018-4-14 Author:han ************************************************/ #include <iostream> using namespace std; /************************************************************************/ /*                    计数器类                                        */ /************************************************************************/ class Time { public: Time (int h=0, int m=0, int s=0); void add();  void normalshow(); void universialhour(); private:  /*int out;*/ int hour; int minute; int second; }; /************************************************************************/ /* c初始化列表                                                                     */ /************************************************************************/ Time::Time(int h, int m, int s): hour(h),minute(m),second(s){}; /************************************************************************/ /*                      累加函数                                        */ /************************************************************************/ void Time::add() { second++; if (second==60) { second=0; } /* hour=hour-12;*/ } /************************************************************************/ /*                      常规的时间显示函数                                        */ /************************************************************************/ void Time::normalshow() { hour=hour-12; cout<<hour<<":"<<minute<<":"<<second<<"   PM        "; } /************************************************************************/ /*                      通用时间显示函数                                        */ /************************************************************************/ void Time::universialhour() { hour=hour+12; cout<<hour<<":"<<minute<<":"<<second<<endl; } /************************************************************************/ /*                     主函数                                        */ /************************************************************************/ int main() {  Time t(23,59,0);  for(int i=0;i<60;i++)  t.add();  t.normalshow();  t.universialhour();  return 0;  } 

 

 

 

 

以下是百度来的资料感觉麻烦先复制来以便以后回顾:

1.冒号(:)用法

(1)表示机构内位域的定义(即该变量占几个bit空间)

typedef struct _XXX{

          unsigned char a:4;

          unsigned char c;

} ; XXX

(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。

struct _XXX{

          _XXX() : y(0xc0) {}

};

(3) public:和private:后面的冒号,表示后面定义的所有成员都是公有或私有的,直到下一个"public:”或"private:”出现为止。"private:"为默认处理。

(4)类名冒号后面的是用来定义类的继承。

class 派生类名 : 继承方式 基类名

{

    派生类的成员

};

继承方式:public、private和protected,默认处理是public。

2.双冒号(::)用法

(1)表示“域操作符”
例:声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时, 
就要写成void A::f(),表示这个f()函数是类A的成员函数。

(2)直接用在全局函数前,表示是全局函数 
例:在VC里,你可以在调用API 函数里,在API函数名前加::

(3)表示引用成员函数及变量,作用域成员运算符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值