我想从文本文件中获取信息并将该信息分配给类对象

时间:2019-03-24 07:23:20

标签: c++ codeblocks

为什么编译器抛出错误:无效使用'Student :: Student'|

这是内容文件(ListOfStudent):1234 46567 这是我的代码:

class Student
{string ML,MSV;
public:
    Student();
    Student(string ML,string MSV );
    ~Student();
    void Out();
};
int main()

{
    vector<Student>ListOfStudent;
    {
        ifstream inf("ListOfStudentFile");
        Student st;
        while(inf){
            string ML,MSV;
             inf>>ML>>MSV;
             st.Student(ML,MSV);
            ListOfStudent.push_back(st);
        }
    }

    return 0;

}
Student::Student(string ML,string MSV)
{
    this->ML=ML;
    this->MSV=MSV;

}

1 个答案:

答案 0 :(得分:2)

您不能显式调用构造函数。 您应该写过:

while(inf){
            string ML,MSV;
             inf>>ML>>MSV;
            ListOfStudent.emplace_back(ML,MSV);
        }

按照Hemil的建议,如果您使用的是C ++ 11,则可以通过直接传递如下构造函数的参数来避免构造临时文件:

import numpy as np
import matplotlib.pyplot as plt

sampling_rate = 10000
n = 10000
signal_freq = 4000 # must be < sampling_rate/2 
amplitude = 100

t=np.arange(0,n/sampling_rate,1/sampling_rate)
sine_wave = amplitude*np.sin(2 * np.pi *signal_freq*t) 
plt.subplot(211)
plt.plot(t[:30],sine_wave[:30],'ro')

spectrum = 2/n*np.abs(np.fft.rfft(sine_wave))
frequencies = np.fft.rfftfreq(n,1/sampling_rate)
plt.subplot(212)
plt.plot(frequencies,spectrum)
plt.show()

对于像您这样的简单结构,无论如何都不应有任何区别,因此请使用您喜欢的任何东西。