Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Code::Blocks对类方法的未定义引用 来自java/Eclipse世界,只想刷C++,使用代码::Boo.< /P>_C++_Codeblocks_Header Files_Resource Files - Fatal编程技术网

使用Code::Blocks对类方法的未定义引用 来自java/Eclipse世界,只想刷C++,使用代码::Boo.< /P>

使用Code::Blocks对类方法的未定义引用 来自java/Eclipse世界,只想刷C++,使用代码::Boo.< /P>,c++,codeblocks,header-files,resource-files,C++,Codeblocks,Header Files,Resource Files,正在创建一个基本类,但在将其实现到主文件时遇到问题 获取“对'Time::Time(int,int,int)'的未定义引用”以及对main.cpp文件中使用的所有方法的未定义引用错误 尝试重建,尝试将文件重新添加到控制台项目。不知道问题出在哪里。我对Code::Blocks相当生疏,所以可能这是显而易见的,任何帮助都将不胜感激 main.cpp #include "Time.h" #include <iostream> using namespace std; int main(

正在创建一个基本类,但在将其实现到主文件时遇到问题

获取“对'Time::Time(int,int,int)'的未定义引用”以及对main.cpp文件中使用的所有方法的未定义引用错误

尝试重建,尝试将文件重新添加到控制台项目。不知道问题出在哪里。我对Code::Blocks相当生疏,所以可能这是显而易见的,任何帮助都将不胜感激

main.cpp

#include "Time.h"
#include <iostream>

using namespace std;

int main()
{
    //Time current();
    Time current(12,0,0);

    cout << "Current time." << endl;
    current.displayTime();

    cout << "\nSet time to 22:29:30." << endl;
    current.setTime(22,29,30);
    current.displayTime();

    cout << "\nAdd 45 minutes." << endl;
    current.addMinutes(45);
    current.displayTime();

    cout << "\nAdd 45 seconds." << endl;
    current.addSeconds(45);
    current.displayTime();

    cout << "\nAdd 1 hour." << endl;
    current.addHours(1);
    current.displayTime();

    return 0;
}
Time.cpp

#include "Time.h"
#include <iostream>

using namespace std;

Time::Time(int h, int m, int s)
{
    hours = h;
    minutes = m;
    seconds = s;
}

Time::Time(int h, int m)
{
    hours = h;
    minutes = m;
    seconds = 0;
}

Time::Time(int h)
{
    hours = h;
    minutes = 0;
    seconds = 0;
}

Time::Time()
{
    hours = 0;
    minutes = 0;
    seconds = 0;
}

Time::~Time()
{
    //dtor
}

Time::void setTime(int h, int m, int s)
{
    hours = h;
    minutes = m;
    seconds = s;
}

Time::void setTime(int h, int m)
{
    hours = h;
    minutes = m;
    seconds = 0;
}

Time::void setTime(int h)
{
    hours = h;
    minutes = 0;
    seconds = 0;
}

Time::void addHours(int h)
{
    hours += h;

    if (hours > 23)
    {
        hours -= 24;
    }
}

Time::void addMinutes(int m)
{
    minutes += m;

    if (minutes > 59)
    {
        addHours(minutes / 60);
        minutes %= 60;
    }
}

Time::void addSeconds(int s)
{
    seconds += s;

    if (seconds > 59)
    {
        addMinutes(seconds / 60);
        seconds %= 60;
    }
}

Time::void displayTime()
{
    if (hours < 10)
    {
        cout << "0" << hours;
    }
    else
    {
        cout << hours;
    }

    cout << ":";

    if (minutes < 10)
    {
        cout << "0" << minutes;
    }
    else
    {
        cout << minutes;
    }

    cout << ":";

    if (seconds < 10)
    {
        cout << "0" << seconds;
    }
    else
    {
        cout << seconds;
    }

    cout << endl;
}

Time::void setHours(int h)
{
    if (h >= 0 && h <= 23)
    {
        hours = h;
    }
    else
    {
        cout << "Invalid input!\n";
    }
}

Time::int getHours()
{
    return hours;
}

Time::void setMinutes(int m)
{
    if (m >= 0 && m <= 59)
    {
        minutes = m;
    }
    else
    {
        cout << "Invalid input!\n";
    }
}

Time::int getMinutes()
{
    return minutes;
}

Time::void setSeconds(int s)
{
    if (s >= 0 && s <= 59)
    {
        seconds = s;
    }
    else
    {
        cout << "Invald input!\n";
    }
}

Time::int getSeconds()
{
    return seconds;
}
#包括“Time.h”
#包括
使用名称空间std;
时间:时间(inth,intm,ints)
{
小时=小时;
分钟=m;
秒=秒;
}
时间::时间(整数h,整数m)
{
小时=小时;
分钟=m;
秒=0;
}
时间::时间(inth)
{
小时=小时;
分钟=0;
秒=0;
}
时间::时间()
{
小时=0;
分钟=0;
秒=0;
}
时间::~Time()
{
//dtor
}
时间::无效设置时间(int h、int m、int s)
{
小时=小时;
分钟=m;
秒=秒;
}
时间::无效设置时间(int h,int m)
{
小时=小时;
分钟=m;
秒=0;
}
时间::无效设置时间(int h)
{
小时=小时;
分钟=0;
秒=0;
}
时间::void addHours(整数小时)
{
小时+=h;
如果(小时数>23)
{
小时-=24小时;
}
}
时间::void addMinutes(int m)
{
分钟+=m;
如果(分钟>59)
{
增加小时(分钟/60);
分钟%=60;
}
}
时间::void addSeconds(int s)
{
秒+=s;
如果(秒>59)
{
增加分钟(秒/60);
秒%=60;
}
}
时间::void displayTime()
{
如果(小时<10)
{

cout类名在方法名之前,而不是在返回类型之前

因此,而不是例如

Time::void setTime(int h)
{
    hours = h;
    minutes = 0;
    seconds = 0;
}
应该是

void Time::setTime(int h)
{
    hours = h;
    minutes = 0;
    seconds = 0;
}

Time.cpp由于错误而无法编译,然后链接器找不到任何符号。

我更改了所有这些符号,但仍然得到相同的错误。在进行这些更改之前,您是否看到语法错误?如果没有,则意味着Code::Blocks不会按时调用编译器。cpp。我没有使用Code::Blocks,因此我在这里无法提供真正的帮助。它是st出现了某种代码::块问题。我使用类向导将文件添加到项目中,但创建一个新项目并将所有文件添加到项目中效果良好。无论如何,谢谢。
void Time::setTime(int h)
{
    hours = h;
    minutes = 0;
    seconds = 0;
}