Всем привет. Есть некоторый класс
| Код | class address{ protected: QString adrs; //адрес public: address(); address(QString _adrs); virtual QString get_name(){return adrs;} };
|
и управляющий класс
| Код | typedef QVector<address*> MyCollection;
class Programm{ private: MyCollection *collection; public: void Init(){collection = new MyCollection; } //......другие методы void addToCollection(address *); };
void Programm::addToCollection(address *p) { collection->push_back(p); }
|
| Код | #include <QtGui/QApplication> #include "mainwindow.h" #include "id.h"
int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; Programm pr; //создал объект типа Programm pr.Init(); //инициализировал collection w.show();
return a.exec(); }
|
Мне нужно, чтобы при создании нескольких объектов переменная collection оставалась единственной( в нее я записываю объекты класса address). Но, чтобы вызвать addToCollection(ID *), я должен каждый раз создать новый объект Programm (этот метод я вызываю в других файлах программы;), следовательно создается новая переменная collection. Как избежать этого, не используя static. |