Собственно есть некоторое устройство, через которое передаются данны(само устройство тоже принемает данные).
Хотелось бы иметь следующую возможность.
SomeDevice device;
Sender *sender = device.MakeSender(SomeID);
send->send(data);
Класс Sender можно создавать только в SomeDevice.
Пока как вариант вижу сделать у Sender приватный конструктор, а SomeDevice сделать дружественным к Sender, тоже надо делать дружественным и SomeDevice так-как нужен доступ из Sender к приватным полям.
Или вот такое использование
device.SendTo(SomeID)->send(data); Только вот это сделать.
Да и device.SendTo(SomeID,data) неподходит, так как у Sender и SomeDevice будет много функции(некоторые будут похожи) и будет просто свалка всего в одном классе.