У меня небольшая проблема с моим кодом из-за перекрестной ссылки. У меня есть класс А, который является основным в моей программе. Из этого класса мне нужно выполнить некоторые SQL Request, поэтому я использовал другой класс B для представления моей базы данных и в том, что у меня есть некоторые методы и функции для выполнения моих запросов. Поэтому я включаю classB.h в свой класс A и создаю экземпляр своей базы данных. У меня также есть класс C, который представляет объект и включен в мой класс A. Но из класса AI должен вызвать метод, который находится в моем классе C и которому нужна ссылка на объект базы данных из класса A в сделайте запрос SQL. Более того, класс C уже включен в класс B по многим причинам. Но я не знаю, как я могу включить класс B в свой класс C для использованных методов базы данных, переданных по ссылке.
Спасибо за ответ и извините за мой Engli sh .. .
ClassA.h: Main
#include "ClassB.h"
#include "ClassC.h"
public ref class Main
{
public:
Database^ myDatabase;
Object^ myObject;
int sqlReply;
Main(){
this->myDtabase = gcnew Database();
this-> myObject = gcnew Object();
sqlReply = this->myDatabase->countNbTrue();
this->myDatabase->InitObject(this->myObject);
this->myObject->doDatabaseAccessCheck(this->myDatabase);
}
}
ClassB.h: Database
#include "ClassC.h"
public ref class Database
{
public:
Database(){}
private:
int countNbTrue(){
return mySqlRequestReply;
}
void InitObject (Object^ myObject){
myObject->setName(mySqlRequestReply);
}
bool databaseAccess(){
return mySqlRequestReply;
}
}
Class C .h: Object
#include "ClassB.h" //Don't work
public ref class Object
{
public:
Object(){}
private:
void doDatabaseAccessCheck(Database^ myDatabase){
if(myDatabase->databaseAccess()){
}
}
}