C++ 如何在默认构造函数C++;?

C++ 如何在默认构造函数C++;?,c++,C++,所以我的问题是: 我的.h文件是: #ifndef FUNC #define FUNC using namespace std; class func{ public: double time[100]; double y_output[100]; func(); double expression(double t ,double y); void rk4(); }; #endif 我的.cpp文件是 #include"func.h" #in

所以我的问题是:

我的.h文件是:

#ifndef FUNC
#define FUNC

using namespace std;

class func{
public:
    double time[100];
    double y_output[100];
    func();
    double expression(double t ,double y);
    void rk4();


};

#endif
我的.cpp文件是

#include"func.h"
#include<iostream>
#include<cmath>

using namespace std;
func::func(): time{}, y_output{5} {} //tried this from one of the answers posted below.

double func::expression(double t, double y)
{
    return (t+y)*sin(t*y);
}
void func::rk4()
{
    float h = 0.2;
    double k0,k1,k2,k3;
    for(int i = 0;i < 100;i++)
    {
       k0 = (h*func::expression((time[i]),(y_output[i])));
       k1 = (h*func::expression((time[i]+(h/2)),(y_output[i]+(k0/2))));
       k2 = (h*func::expression((time[i]+(h/2)),(y_output[i]+(k1/2))));
       k3 = (h*func::expression((time[i]+h),(y_output[i]+(k2/2))));
       y_output[i+1] = y_output[i] + (k0+k1+k2+k3)/6;
       time[i+1] = time[i] + h;

    }
}
我不知道如何初始化数组的第一个元素。有人能帮我吗

另一种方法:

我只是尝试了另一种方法。我从main手动初始化了该值,而没有亲自在类中创建构造函数,并且成功了。 main.cpp

#include<iostream>
#include "func.h"
#include "func.cpp"

using namespace std;

int main()
{
    func f;
    double a = 5;
    double b = 0;
    f.y_output[0] = a;
    f.time[0] = b;
    return 0;
}
#包括
#包括“func.h”
#包括“函数cpp”
使用名称空间std;
int main()
{
函数f;
双a=5;
双b=0;
f、 y_输出[0]=a;
f、 时间[0]=b;
返回0;
}
但是,我想知道数组是否可以在构造函数中初始化。有谁能帮我这个主意吗

我想初始化y_输出[0]=5

你是这样做的:

func::func(): time{}, y_output{5} {}

您可以发布一段不起作用的代码吗?如果您发布一段
func::func(){y_output[0]=5;}
尝试执行@Jarod42,这将有助于我们。
func::func(): time{}, y_output{5} {}