appeler des methodes depuis une fonction :-(
Bonjour tous,
j'ai besoin d'un petit (gros) coup de main, je suis perdu avec ce C++ :cry:
1°) voici le contexte:
je pars d'un début de code qu'une personne avait réalisé et j'essai d'introduire une fonction qui m'effectue divers calculs.
2°) voici quelques parties du programme:
main.cpp
Code:
1 2 3 4 5 6 7 8
| #include "AAA.h"
using namespace std;
int main()
{
AAA *AAA = new AAA();
delete AAA;
return 0;
} |
AAA.h
Code:
1 2 3 4 5 6 7 8
|
class AAA
{
public:
AAA();
~AAA();
private:
}; |
AAA.cpp
Code:
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 44 45 46 47
|
#include "AAA.h"
#include "BBB.h"
using namespace std;
AAA::AAA()
{
string dump;
vector<string> arg;
string mon_fichier = "blablabla.txt";
ifstream dataBase(mon_fichier.c_str(), ios::in);
if(dataBase)
{
while (!dataBase.eof())
{
getline(dataBase,dump);
couper(dump,arg);
if (arg[0]=="#")
{
cout << dump << endl;
}
else if (arg[0]=="BBB")
{
a=0;
a=arg.size()-1;
if (a==4)
{
cout << "blablabla" << endl;
}
else if (a<4)
{
cout << "blablabla"<< endl;
break;
}
BBB *bbb = new BBB();
bbb->Add_BBB(arg);
delete bbb;
}
}
else
{
cout << "! unable to open database !" << endl;
}
}
AAA::~AAA()
{
} |
où la fonction couper n'est pas représenté mais elle ser à mettre des string dans le vector arg
BBB.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
class BBB
{
public:
BBB();
~BBB();
void Add_BBB(std::vector<std::string>);
double get_Parameter1(int);
private:
std::vector<std::string> Name;
std::vector<double> Parameter1;
std::vector<double> Parameter2;
}; |
BBB.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#include "BBB.h"
using namespace std;
BBB::BBB()
{
}
BBB::~BBB()
{
}
double BBB::get_Parameter1(int _i)
{
if(_i>=Parameter1.size())
{
cout << "blablabla" << endl;
return -1; //the last version contain return "text" but we can't return text with a double function
}
return Parameter1[_i];
}
void BBB::Add_BBB(vector<string> _arg)
{
Name.push_back( _arg[1] );
Parameter1.push_back( atof(_arg[2].c_str()) );
Parameter2.push_back( atof(_arg[3].c_str()) );
} |
3°) tous ce qui est fait ici est du classement:
- dans AAA on lit un fichier texte et on classe les mots du fichier texte dans des attributs de la class BBB
- ensuite on veut pouvoir acceder a ces attribut donc on fait des methodes dans BBB pour cela