Calling Class from various files

I have a class that implements a software spi routine. Several of the hardware devices have their own classes and they use the spi class.

spi class has a begin routine that initializes the hardware pins.

Do I simply create a new instance in each of the device classes for the spi and also for each call the spi.begin so it assigns those pins to the instance?

So in say Memory class
SoftwareSpi memSpi;

and in RTC class
SoftwareSpi rtcSpi;

OR can I set up the SoftwareSpi to act like Serial that can be accessed from multiple files.
Then in main process I do SoftwareSpi.begin(MOSIPIN,MISOPIN,SCKPIN,MEMCSPIN);


SPI is a process for two chips (usually on the same board) to communicate. One device is the master. The other is the slave. The master makes requests. The slave (eventually) responds, triggering an interrupt service routine on the master.

If you (try to) use one software SPI instance for multiple channels of communication, which channel is supposed to react when the interrupt (arriving SPI data) happens?