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 + -
显示快捷键?