【发布时间】:2017-06-14 21:00:53
【问题描述】:
我试图通过创建一个包含小时、分钟和秒的 Time 类来了解类及其构造函数的工作原理。我想使用默认构造函数打印一次,通过用户输入打印一次。当我的程序编译时,它不要求用户输入,很可能是因为我调用类函数 getHour 的方式(如果我只打印输入时间)。我也不确定如何通过默认构造函数打印时间(0,0,0)。
任何帮助将不胜感激!
主要:
#include <iostream>
#include "Time.h"
int main(){
std::cout << "Enter the hour, minute, and second: " << std::endl;
int hour, minute, second;
std::cin >> hour >> minute >> second;
Time time1(hour, minute, second);
std::cout << time1.getHour() << std::endl;
return 0;
}
类实现:
#include <iostream>
#include "Time.h"
//default constructor
Time::Time() {
hour = 0;
minute = 0;
second = 0;
}
//construct from hour, minute, second
Time::Time(int theHour, int theMinute, int theSecond) {
hour = theHour;
minute = theMinute;
second = theSecond;
}
int Time::getHour() const {
return hour;
}
int Time::getMinute() const {
return minute;
}
int Time::getSecond() const {
return second;
}
【问题讨论】:
-
它不要求用户输入,很可能是因为我调用类函数 getHour 的方式(如果我只打印输入时间) 你确定你正在运行当前代码的构建吗?输入在
main(),与getHour()无关
标签: c++ class oop constructor