C++ class inheritance etc

Carlis

Senior member
May 19, 2006
237
0
76
Hi
I want to write a simulation software for some category of physics modes. Because the models are in some ways similar, I want to have a single class that takes care of issuing instructions. And then I want to have several different models that are different, but share a set of methods that can be used by the logic part. Thus something like this

LOGIC class: This class can issue instructions to any class which belong to the category 'MODEL'

category 'MODEL' includes
'XY-MODEL' class and 'GL-MODEL' class.
Now, all classes that belong to the MODEL category have a set of standard methods like
'UPDATE', 'COMPUTE_ENERGY' etc.
Thus, LOGIC does not even know what the underlying MODEL is, it just issues instructions. The type of model is determined in the beginning of the simulation by some argument. This would make my life a lot easier. So can this be done with inheritance?

Best
// Carlis
 

Ancalagon44

Diamond Member
Feb 17, 2010
3,274
202
106
Yes, it can be done. Not too difficult actually.

You will have:
class Model
{
public:
virtual void Update() = 0;
virtual void ComputeEnergy() = 0;
};

class XY_Model : public Model
{
void Update();
void ComputeEnergy();
};

Just as an example. Your XY_Model.cpp file will then contain the implementations of those methods. Model is a class with two abstract functions, and XY_Model contains the implementations for those functions. You can then cast an XY_Model to a Model, and then call its methods. Something like that:
Model* current = ModelContainer->FindModel(name);
\\if current is an XY_Model, then XY_Model::Update() is the method that will actually be run. Remember, Model has method definitions but no method bodies.
current->Update();
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |