在 .h 中声明,在.cpp中初始化
Declare in .h and initialize in .cpp
我想在我的.h中声明一个指针,并在.cpp中初始化它。例如一个 int 指针:
我的 .h 类文件:
#pragma once
#include <iostream>
#include <stdio.h>
#include <stdint.h>
using namespace std;
class Calc_ToF_low
{
private:
int telo[3];
public:
Calc_ToF_low(void);
~Calc_ToF_low(void);
double * CalcToF(int16_t * señal, int fs);
long double * filter(long double *ganancias, long double *coeficientes, double *señal,int lensignal, int L, int control);
void signal_p1_lowf(void);
void avg_p1_lowf(void);
void time_est();
};
我的.cpp类文件:
#include "Calc_ToF_low.h"
Calc_ToF_low::Calc_ToF_low(void)
{
telo[3]={0,1,2};
}
我该怎么做?
像这样:
Calc_ToF_low::Calc_ToF_low() // note no need to say void in C++
{
telo[0]=0;
telo[1]=1;
telo[2]=2;
}
或者,如果您可以使用 C++11,则类似这样的东西可能会起作用:
Calc_ToF_low::Calc_ToF_low()
: telo{{0,1,2}} // initializer list, will not work in "old" C++98
{}
您可以通过键入以下内容为其分配值:
telo[0] = 0;
telo[1] = 1;
telo[2] = 2;
在你的.cpp。
它可能不适用于大型数组,但您可能应该从文件中分配值。
如果要使用所有项的常量值初始化大型数组,则可以使用此方法:
Calc_ToF_low::Calc_ToF_low(){
memset(telo, 0, sizeof(telo)); //0 is the constant value
}
如果要将大型数组初始化为一组没有模式的值:
int defaultTeloData[TELO_NUMITEM] = {2,4,1,5,6,1,7,82,41,6,134,88,1};
Calc_ToF_low::Calc_ToF_low(){
memcpy(telo, defaultTeloData, sizeof(telo));
}
如果数组值具有模式,请使用循环和一些公式或构造函数。
Calc_ToF_low::Calc_ToF_low(){
for(int a = 0; a sizeof(telo)/sizeof(telo[0]); a++){
telo[a] = dataFormulaForTelo(a);
}
}
这是您可以做到的一种方法:
#include <array>
class Calc_ToF_low
{
private:
std::array<int, 3> telo;
public:
Calc_ToF_low();
};
Calc_ToF_low::Calc_ToF_low()
: telo()
{
for(unsigned i = 0; i<telo.size(); ++i)
telo[i] = i;
}
相关文章:
- afxmem.cpp中的对象初始化差异
- 在 CPP 中初始化 typedef 结构变量
- 为什么当我在 CPP 的初始化中指定多维数组时,它必须有边界
- 聚合关系 - 在专用中初始化类,从单独的 .cpp/.h.
- 在定义(.cpp文件)中初始化静态浮点 constexpr 成员是可能的
- 实用程序函数不会在 .h 文件中初始化并在 main 中定义.cpp
- C 宏从.CPP初始化一个在.h中声明的变量
- (重新)在cpp中不使用复制构造函数初始化对象
- 类和CPP核心指南中的初始化优先变量
- 我正在收到错误的“ list :: ShowList”:功能风格的初始化器似乎是我的CPP文件中的函数定义'
- 在 .h 中声明,在.cpp中初始化
- 初始化 cpp 文件中的私有静态成员变量.错误:成员是私有的
- cpp文件中的静态矢量初始化
- Cpp.中的私有静态数据成员只能在其定义时初始化,而类内初始化无效
- 构造函数 CPP 中基元数据类型的初始化
- cpp 删除旧指针并重新初始化它
- 如何通过 A 初始化 CPP 文件中的静态成员
- CPP 默认构造函数和成员初始化列表
- 正在初始化.cpp文件中的虚拟函数
- 找不到默认构造函数来初始化 CPP 中的成员