Есть класс, назовём его Firstclass. В нём, в приватном поле определён структурный тип следующего вида:
using struct StructName {
QString nameFild;
QString nameFild1;
qint32 nameFild2;
...
};
Далее, в приватном поле этого же класса (Firstclass) объявлен объект шаблонного класса QList <StructName> nameObject; К этому классу (Firstclass) есть дружественный класс TestClass. Проблема заключается в том, что бы из описанных сущностей собрать объект и получать к нему доступ из класса TestClass. Объект должен быть вида:
StructName TestObject;
TestObject.nameFild1 = valueFild1;
TestObject.nameFild2 = valueFild2;
nameObject.append(TestObject);
TestClass и Firstclass лежат в разных файлах. В классе Firstclass менять ничего нельзя. Единственное что я могу сделать, это объявить к нему дружественный класс TestClass. Я пишу Unit тесты для функций класса Firstclass и мне нужно через методы класса TestClass передавать данные в Firstclass. Подскажите пожалуйста как это можно сделать?
#include <list>
#include <string>
class Firstclass
{
friend class Testclass;
public:
Firstclass() = default;
private:
struct StructName
{
std::string nameFild1;
};
std::list<StructName> objectName;
};
class Testclass
{
public:
Testclass() = default;
void doSomethingWithFirstclass(Firstclass& firstclass)
{
Firstclass::StructName TestObject;
TestObject.nameFild1 = "name";
firstclass.objectName.push_back(TestObject);
}
};
int main()
{
Firstclass firstclassObject;
Testclass testclassObject;
testclassObject.doSomethingWithFirstclass(firstclassObject);
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости