1.试写出Time类的类声明及成员函数的实现。要求:在Time类中包含3个数据分量,即时(hour)、分(minute)和秒(second)。在类的成员函数中应包括存(用set开头)、取(用get开头)各个数据分量和完整时间的操作;按上下午各12小时或按24小时打印时间的函数;有默认值的构造函数等。默认值以0时0分0秒为准。
自己写的代码(现在有问题)
#include
using namespace std;
class Time
{
private:
int hour,minute,second;
public:
int set(int x,int y,int z);
int get(int &x1,int &y1,int &z1);
void print();
Time();
};
Time::Time():hour(0),minute(0),second(0)
{
cout<<"设置默认设置"<
报错:
看来应该是指针和地址那一块我还是不清楚。去再改改看看。
这样改,编译是没错了,但是输出结果有问题。(我把类中get函数的参数类型设置为指针类型,下面调用函数的时候,穿引用时,声明普通的整型变量,然后调用的时候函数里的参数取地址传进去)
#include
using namespace std;
class Time
{
private:
int hour,minute,second;
public:
int set(int x,int y,int z);
int get(int *x1,int *y1,int *z1);
void print();
Time();
};
Time::Time():hour(0),minute(0),second(0)
{
cout<<"设置默认设置"<
输出结果有问题:
去调试下,怀疑是不是值没有传进去。
int main()
{
Time t;
t.print();
t.set(12,5,30);
t.print();
int x,y,z;
t.get(&x,&y,&z);
cout<<"Time is :"<
打印结果:
定位到应该是set函数和get函数都出现问题。
set函数:
get函数:
刚刚写的时候get ,set混乱了(也许以后自己可以在函数旁边写上功能,提醒一下自己)
最后附上运行好的代码:
#include
#include
using namespace std;
class Time
{
private:
int hour,minute,second;
public:
int set(int x,int y,int z);
int get(int *x1,int *y1,int *z1);
void print();
Time();
};
Time::Time():hour(0),minute(0),second(0)
{
cout<<"设置默认设置"<
运行成功的截图:
加了个关于不足位补零的头文件和函数:
头文件:#include
函数用法:例:cout< ========================================我是分割线================================================