-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathskeleton.cpp
43 lines (37 loc) · 898 Bytes
/
skeleton.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <iostream>
using namespace std;
class Intra { // abstract
private:
public:
std::string type;
// std::string sbml_filename;
// virtual void initialize_intracellular_from_pugixml(pugi::xml_node& node) = 0;
virtual void start() = 0;
};
class Sbml : public Intra { // concrete class
private:
public:
void start() { cout << "sbml: start()\n"; }
// void initialize_intracellular_from_pugixml(pugi::xml_node& node);
};
class Pheno {
private:
public:
Intra* imodel;
};
class Cell {
private:
public:
Pheno p;
};
int main()
{
Cell c;
cout << "c.p.imodel ptr (initial Cell)= " << c.p.imodel << endl; // Intra* pointer exists, but bogus
Sbml s;
s.type = "sbml";
s.start();
c.p.imodel = &s;
cout << "c.p.imodel ptr (after assigning s)= " << c.p.imodel << endl;
cout << "c.p.imodel->type = " << c.p.imodel->type << endl;
}