急请问
急!请教!
下面这个由构造函数初始化的知为什么没法改变?怎样把对象c参数值改变?
#include <iostream>
using namespace std;
class Clock
{
public:
Clock(int NewH,int NewM,int NewS); //时钟类构造函数
void SetTime(); //设置时间的函数
void ShowTime(); //显示时间的函数
private:
int Hour,Minute,Second; //私有数据成员
};
Clock::Clock(int NewH,int NewM,int NewS) //构造函数的实现
{
Hour=NewH;
Minute=NewM;
Second=NewS;
};
void Clock::SetTime() //成员函数的实现
{
int NewH,NewM,NewS;
cout < < "Input hour: " < <endl;
cin> > NewH;
cout < < "Input minute: " < <endl;
cin> > NewM;
cout < < "Input second: " < <endl;
cin> > NewS;
}
void Clock::ShowTime()
{
cout < <Hour < < ": " < <Minute < < ": " < <Second < <endl;
}
//主函数
int main()
{
Clock c(0,0,0);
cout < < "First time set: " < <endl;
c.SetTime(); //为什么这里的构造函数c.SetTime()对c(0,0,0)不起
c.ShowTime(); //作用,输出后还是(0,0,0)?
return 0;
}
成员函数怎样才能改变有构造函数初始化的值?
------解决方案--------------------
看看你的setTime,它哪修改数据成员Hour,Minute,Second了????
void Clock::SetTime() //成员函数的实现
{
int NewH,NewM,NewS;
cout < < "Input hour: " < <endl;
cin> > NewH;
cout < < "Input minute: " < <endl;
cin> > NewM;
cout < < "Input second: " < <endl;
cin> > NewS;
}
下面这个由构造函数初始化的知为什么没法改变?怎样把对象c参数值改变?
#include <iostream>
using namespace std;
class Clock
{
public:
Clock(int NewH,int NewM,int NewS); //时钟类构造函数
void SetTime(); //设置时间的函数
void ShowTime(); //显示时间的函数
private:
int Hour,Minute,Second; //私有数据成员
};
Clock::Clock(int NewH,int NewM,int NewS) //构造函数的实现
{
Hour=NewH;
Minute=NewM;
Second=NewS;
};
void Clock::SetTime() //成员函数的实现
{
int NewH,NewM,NewS;
cout < < "Input hour: " < <endl;
cin> > NewH;
cout < < "Input minute: " < <endl;
cin> > NewM;
cout < < "Input second: " < <endl;
cin> > NewS;
}
void Clock::ShowTime()
{
cout < <Hour < < ": " < <Minute < < ": " < <Second < <endl;
}
//主函数
int main()
{
Clock c(0,0,0);
cout < < "First time set: " < <endl;
c.SetTime(); //为什么这里的构造函数c.SetTime()对c(0,0,0)不起
c.ShowTime(); //作用,输出后还是(0,0,0)?
return 0;
}
成员函数怎样才能改变有构造函数初始化的值?
------解决方案--------------------
看看你的setTime,它哪修改数据成员Hour,Minute,Second了????
void Clock::SetTime() //成员函数的实现
{
int NewH,NewM,NewS;
cout < < "Input hour: " < <endl;
cin> > NewH;
cout < < "Input minute: " < <endl;
cin> > NewM;
cout < < "Input second: " < <endl;
cin> > NewS;
}