在类中包含的类中切换对象时,变量值会丢失

时间:2017-12-20 16:10:17

标签: c++ class variables object

问题是变量失去了价值。 变量data.table(df) firm_id brand_id KEY UNITS DOLLARS DATE place_name 1: 511 263 647840 1 7.29 2001-01-01 NYC 2: 511 265 647840 2 14.58 2001-01-01 NYC 3: 511 265 532733 1 6.39 2001-01-01 Los Angeles 4: 23 417 263939 1 4.79 2001-01-01 Chicago 5: 23 417 648768 5 24.45 2001-01-01 Houston selectable_values_arraysearched_array_size初始化时包含正确的值。 但是当调用find_number::find_number对象时,变量包含 像-28和4214247这样的值。 作为一个合乎逻辑的结果,samplerate_return只返回垃圾。

那我在这里缺少什么? 有没有一种方法可以在类中安全地传递变量/值?

修改:添加了缩减的MyClass和main。

find_closest

第一堂课:

#include "MyClass.h"

int main()
{
    int32_t samplerate_return = 0;
    int32_t samplerate_request = 7;

    MyClass ADC_1 ();

    while(1) {
      samplerate_return = ADC_1.select(samplerate_request);
    }
}

#ifndef MyClass_H #define MyClass_H #include "find_number.h" class MyClass { public: MyClass(); int32_t select(int32_t the_searched_number); int32_t the_selected_number; private: int32_t Integer_array[]; int32_t Numbers_in_Integer_array; bool init(); find_number MyNumber; };

MyClass.cpp

这是“Find_Numbers”类的头文件:

#include "MyClass.h"

MyClass::MyClass()
{
    init();
    find_number MyNumber;
}

bool MyClass::init()
{
    int32_t Integer_array[] = {2,5,10};
    Numbers_in_Integer_array =  (sizeof(Integer_array)/sizeof(*Integer_array));
    find_number MyNumber (Integer_array,Numbers_in_Integer_array);
    return 0;
}

int32_t MyClass::select(int32_t the_searched_number)
{
    the_selected_number = MyNumber.find_closest(the_searched_number);
    return the_selected_number;
}

以及相应的#ifndef find_number_h #define find_number_h class find_number { public: //Constructor: find_number(int32_t *selectable_values,int32_t cells_in_array); find_number(); // = default; //Class Objects: int32_t find_closest(int32_t target_value); private: int32_t searched_array_size; int32_t *selectable_values_array; }; #endif

find_numbers.cpp

0 个答案:

没有答案