Я что-то испортил. Вот код:проблема наследования
#include <iostream>
class connection_c {
private:
std::string data_;
void (*saveCallBack_)();
public:
connection_c(std::string &data) : data_(data) { std::cout << "ctor: " << __FUNCTION__ << ":" << data_ << std::endl;}
void registerCallBack(void(*cb)()) { saveCallBack_ = cb; }
};
class inst_c {
private:
static int id;
connection_c conn;
static void cb() { std::cout << __FUNCTION__ << " id = " << id << std::endl; }
public:
inst_c(connection_c &c, int a) : conn(c), id(a) {
std::cout << "ctor: " << __FUNCTION__ << " " << id << std::endl;
conn.registerCallBack(&cb);
}
};
class group_inst_c {
private:
connection_c conn;
inst_c i,j,k;
public:
group_inst_c(std::string data) : conn(data), i(conn,1), j(conn,2), k(conn,3) {}
};
int main() {
group_inst_c gi("asdf");
return 0;
}
Что я хочу достигнуть;)
- создать группу экземпляров (group_inst_c)
- он должен инициализировать одно соединение для группы (connection_c)
- каждый экземпляр (inst_c) должен использовать это соединение (он будет сериализован)
- .. Кроме того, каждый экземпляр должен регистрировать отдельный обратный вызов
Конечно, я испортил клонирование, но, наверное, не только. Может кто-нибудь помочь мне решить эту загадку? спасибо.
Я в замешательстве - вы не определили никаких отношений наследования. –
+1. И каков фактический вопрос/проблема в нем? – dyp