Код: Выделить всё
class MHD_Model{
private:
double position;
double boundary_condidtion;
double magnetic_field;
public:
// constructor, methods for setting the boundary condititon etc.
}
Код: Выделить всё
double Bfield(double x){
return x*x;
}
По образованию я не программист, а физик. Мне нужно изучить C++/другой быстрый язык программирования, так как сейчас я поступил на докторскую степень и буду иметь дело со сложными вычислениями.
Я попробовал написать функцию Bfield в обход ссылку, передачу по значению и использование константной двойной позиции внутри класса, но ничего не компилируется. Я понимаю ошибки (большинство из них типа: бинарный оператор / нельзя использовать для типов double и (double *) double). Основная проблема заключается в том, что я не знаю «правильного» способа написания такого поведения, и я не уверен, что это позволяет структурировать программу так, как я себе представлял.
Может кто-нибудь предложит что-нибудь или укажет мне на ресурс по этому поводу? Я знаю, что лучше всего было бы изучить C++, но у меня мало времени.
Кстати, мой руководитель тоже не программирует, поэтому я не могу к нему обратиться; он использует только Wolfram Mathematica.
РЕДАКТИРОВАТЬ:
Я включаю то, что До сих пор я программировал то, как я представляю, как это будет работать:
main.cpp
Код: Выделить всё
#include
#include
#include
#include
#include "mhd.hpp"
using namespace std;
double b(double *x){
return 1./ &x;
}
int main(){
double q = 10.;
double x = .3;
MHDModel model;
model.set_equipartition(q);
model.set_position(x);
model.load_magnetic_field(&b);
return 0;
}
Код: Выделить всё
#include "mhd.hpp"
#include
void MHDModel::set_equipartition(double q) {
equipartition = q;
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79282858/can-a-class-contain-a-blank-function-that-can-be-loaded-via-a-method[/url]
Мобильная версия