eb127.c
来自「this is a gcc file, you can download it 」· C语言 代码 · 共 61 行
C
61 行
// Gets ICE 40.#include <vector>#include<string>#include <iostream>using namespace std;class ODEsolver{ private: void eulerODE(vector<double>& y, double& t, double& dt); void midpointODE(vector<double>& y, double& t, double& dt); protected: void (ODEsolver::*useMethod)(vector<double>&, double&, double&); void init(); public: ODEsolver(); void timeloop(vector<double>& y, double ts, double te, double dt);};ODEsolver::ODEsolver(){ init();}void ODEsolver::eulerODE(vector<double>& y, double& t, double& dt){ y[0] = dt * 2.;}void ODEsolver::midpointODE(vector<double>& y, double& t, double& dt){ y[0] = dt * 3.;}void ODEsolver::init(){ ODEsolver::useMethod = &ODEsolver::midpointODE;}void ODEsolver::timeloop(vector<double>& y, double ts, double te, double dt){ (ODEsolver::useMethod)(y,ts,dt); // ERROR - should use this->*}int main (int nargs, char** args){ ODEsolver solver; vector<double> y(2); double t_start=5.; double t_end=7.; double dt=2.; solver.timeloop(y,t_start,t_end,dt); cout << y[0] << endl; return(0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?