得到错误:className :: className的无效使用。
试图创建一个代表一天中某个时间的timeStamp类,它在特定变量中存储秒,分钟,小时。在主要功能的第13行中遇到错误,该错误显示为:无效地使用了timeStamp :: timeStamp 我怎么办? 有一个标头文件,其中声明了所有方法。
源文件cpp:
#include "timeStamp.h"
#include <iostream>
using namespace std;
timeStamp::timeStamp()
{
Hour = 0;
Minute = 0;
Second =0;
}
timeStamp::timeStamp(int h, int m, int s){
Hour = h;
Minute = m;
Second = s;
}
int timeStamp::getHour(){
return Hour;
}
int timeStamp::getMinute(){
return Minute;
}
int timeStamp::getSecond(){
return Second;
}
bool timeStamp::operator!=(timeStamp t){
if (Second ==t.Second && Minute ==t.Minute && Hour ==t.Hour)
return true;
else
return false;
}
void timeStamp::Print()
{
std:: cout<<"Hour:"<<Hour<<"\nMinute:"<<Minute<<"\nSecond:"<<Second<<std::endl;
}
主要:
#include <iostream>
#include "timeStamp.cpp"
using namespace std;
int main()
{
timeStamp obj1, obj2;
int h,m,s;
cout<<"Give hour minute and second:";
cin>>h>>m>>s;
obj1.timeStamp(h,m,s); //error
cout<<"Give H M S";
cin>>h>>m>>s;
obj2.timeStamp(h,m,s);
bool isEqual = obj1 ! = obj2;
cout<<isEqual<<endl;
}
答案 0 :(得分:2)
那不是构造对象的方式。
您必须在定义时提供构造函数参数。
以后不能像函数一样调用构造函数。
int main()
{
int h,m,s;
cout<<"Give hour minute and second:";
cin>>h>>m>>s;
timeStamp obj1(h,m,s);
cout<<"Give H M S";
cin>>h>>m>>s;
timeStamp obj2(h,m,s);
bool isEqual = obj1 ! = obj2;
cout<<isEqual<<endl;
}
我确信您的书会对此进行更详细的介绍。