Показать сообщение отдельно

  #8  
Старый 28.03.2024, 11:40
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

У меня есть проект с такой структурой:

src/

├── hooks.hpp

├── hooks.cpp

├── patch.hpp

├── patch.cpp

├── network.hpp

├── network.cpp

├── main.hpp

└── main.cpp

Как я могу грамотно организовать получение основного класса Plugin в остальных классах, которые находятся в одноименных файлах?

C++:





Код:
#ifndef MAIN_HPP
#define MAIN_HPP
#include 
#include "sampapi/sampapi.h"
#include "hooks.hpp"
#include "patch.hpp"
#include "network.hpp"
class
Plugin
{
public
:
Plugin
(
)
;
~
Plugin
(
)
;
void
Initialize
(
)
;
// Инициализация указателей происходит в методах клсса Plugin
Patch
*
patch
;
Hooks
*
hooks
;
Network
*
network
;
//
std
::
uintptr_t SAMPHandle
;
std
::
vector

accessories
;
bool
isKeyDown
=
false
;
}
plugin
;
#endif


Покажу на примере класса Network (network.hpp):

C++:





Код:
#ifndef NETWORK_HPP
#define NETWORK_HPP
#include "rakhook/rakhook.hpp"
#include "sampapi/CPlayerPool.h"
class
Network
{
private
:
static
const
char
*
clientVersion
;
// Необходимо как-либо получить доступ к объявлению класса Plugin
Plugin
*
plugin
;
public
:
Network
(
Plugin
*
plugin
)
;
~
Network
(
)
;
bool
OnSendRPC
(
std
::
int32_t
&
id
,
RakNet
::
BitStream
*
bs
,
PacketPriority
&
priority
,
PacketReliability
&
reliability
,
char
&
orderingChannel
,
bool
&
sh_timestamp
)
;
bool
OnReceiveRPC
(
std
::
uint8_t
&
id
,
RakNet
::
BitStream
*
bs
)
;
}
;
#endif
 
Ответить с цитированием