Usar una clase de una libreria dentro de otra libreria (Solucionado)

Hice una libreria con distintas funciones. llamemosla A
Ahora hago otra libreria que llamaremos B y quiero usar la class A dentro de la class B de la nueva libreria y no consigo hacerlo. Pego codigos de ejemplo de lo que quiero hacer a ver si me dais una solucion.

Eso seria el codigo de la libreria de la clase A

#pragma once
#ifndef _A_h
#define _A_h

#if defined(__AVR__)
#include "Arduino.h"
#elif defined(__PIC32MX__)
#include "WProgram.h"
#elif defined(__arm__)
#include "Arduino.h"
#endif

#include <MCUFRIEND_kbv.h>
#include <Adafruit_GFX.h>
#include <TouchScreen.h>

Cass A
{
public:

	A(MCUFRIEND_kbv* prtTFT, TouchScreen* TouchScreen);
	void funcion_1( int opc ,char opc[6][10]);
	int funcion_2(void);
	

private:

int var_1;
int var_2;
protected:
	
	MCUFRIEND_kbv* _tft;        // nuevo denominacion del puntero para esta libreria    
	TouchScreen* _ts;	        // denminacion de puntero para la tactil
	
}

Hay un .cpp en que de definen las funciones de la clase

#include <MCUFRIEND_kbv.h>
#include <Adafruit_GFX.h>
#include <TouchScreen.h>
#include <A.h>

A::A(MCUFRIEND_kbv* ptrTFT, TouchScreen* ptrTouchScreen)
{
	_tft = ptrTFT;
	_ts = ptrTouchScreen;
}
void A::funcion_1( int opc ,char opc[6][10])
{
	_tft->fillCircle(50, 50, 100, TFT_WHITE);
	_tft->fillCircle(120, 70, 40, TFT_RED)
}
int A::funcion_2(void)
{
// aqui se puede usar tambien la _tft y la _ts y funciona perfectamente
}

Algo asi seria la libreria A
Quiero hacer una libreria B que usara la libreria A y las funciones de la clase A

#pragma once
#ifndef _B_h
#define _B_h

#if defined(__AVR__)
#include "Arduino.h"
#elif defined(__PIC32MX__)
#include "WProgram.h"
#elif defined(__arm__)
#include "Arduino.h"
#endif

#include <MCUFRIEND_kbv.h>
#include <Adafruit_GFX.h>
#include <TouchScreen.h>
#include <A.h>

Cass B
{
public:

	A(MCUFRIEND_kbv* prtTFT, TouchScreen* TouchScreen);
	void funcion_1( int opc ,char opc[6][10]);
	int funcion_2(void);
// supongo que deberia incluir aqui alguna referencia a la clase A y sus funciones para poder utilizarla	

private:

int var_1;
int var_2;
protected:
	
	MCUFRIEND_kbv* _tft;        // nuevo denominacion del puntero para esta libreria    
	TouchScreen* _ts;	        // denminacion de puntero para la tactil
	
}

su Cpp seria parecido al del A y ahi es donde quiero usar la clase A…y no consigo hacerlo.
Si veis uso unos punteros en la clase A a una libreria que es la MCUFRIEND y a la TouchScreen y eso funciona perfectamente.
La verdad que es un poco complicado todo pero no quiero incluir las funciones de la clase A repetidas en la libreria B como si fuesen propias. Es una solucion pero no me gusta y seguro que hay forma mejor de hacerlo.

Creo que lo mejor sería:

Gracias de nuevo, sales en mi ayuda.
No conozco bien los entresijos de este foro, pero ire aprendiendo poco a poco, o eso espero.
Sigo explicando un poco lo que me pasa. Lei atentamente tu respuesta pero no me soluciona el problema.
He conseguido usar la class "A" que esta en la libreria A en la libreria "B", pero no de forma completa.
Me explico.
Si inicio un objeto de la case A en el constructor de la libreria B, luego no puedo usar los metodos de A en los metodos de B, y si lo inicio en alguno de los metodos de B, si puedo usar A, pero solamente en ese metodo y necesito usarlo en los demas, de hecho en casi todos.
Algo esta claro me hago mal. Y es en la declaracion del objeto de clase A en la libreria B. No consigo por mucho que lo declare como privado o publico, que pueda usar A en todos los metodos de B.

Una cuestion mas. que nunca use en Arduino pero si en C hace muchos años.
Yo inicio un objeto con su constructor y ahi se queda. ¿No puedo destruirlo para dejar memoria libre? En C se podia, pero no conozco bien el C de arduino como para hacer eso. Supongo que si se puede porque el Arduino de hecho tiene poca memoria y es logico hacer esa operacion sobre todo si se usan muchos objetos.
En resumen mi problema es algo parecido a esto.
Por ejemplo, creo un libreria "Tecla" (una tecla virtual en una TFT)
Luego quiero crear una libreria Teclado, que tendria 12 Teclas de la primera libreria. Esta libreria teclado debera poder usar los objetos de Tecla en casi todos sus metodos. Y ahi es donde esta el fallo, solo se hacerlo para que funcione en uno de ellos. No consigo hacerlo declare los objetos Tecla ni como publico ni privado ni nada, Y no se donde poner el constructor de los objetos Tecla dentro de la libreria Teclado..
Cuando ya no esta en uso el objeto Teclado lo quito de pantalla y quiero destruirlo para que no ocupe memoria.
Este ejemplo explica perfectamente lo que me pasa, tengo que usar la clase Tecla de la libreria Tecla en la clase Teclado de la Libreria Teclado....Y despues de usarlo destruirlo para no ocupar Ram.
Espero que este asi mucho mas claro mi problema.
Mil gracias por seguir ayudandome, prometo no dar mucha lata si es posible,

Perdon de nuevo, ya encontre como hacer el destructor de la clase, asi que en eso ya no tengo dudas, lo unico es que como ahora escribo el codigo con un ultrabook que no tiene teclado numerico no se como escribir el simbolo del destructor. Hace años lo hacia con Alt y el teclado numerico escribiendo el simbolo Ascii. pero eso ya lo solucionare. No es mucho lio.
En el resto sigo con el problema de usar metodos de A en B. Si consigo solucionarlo lo avisare para que no os tomeis la molestia .
Gracias

Solucionado, Por supuesto era por falta de conocimientos.
EL problema estaba como yo pensaba en la forma de declarar los objetos de la primera libreria en la segunda.
Paso los ficheros que funcionan por si alguien quiere verlos. La libreria tecla no se ha tocado y esta igual, pero con estas dos como ejemplo se ve que funcionar funciona.
Gracias de todas formas.

Menus_MCUFRIEND.cpp (1.79 KB)

Menus_MCUFRIEND.h (764 Bytes)

Pon solucionado en el tema del post si lo consideras resuelto, me alegro sinceramente