void B::generic_algo(A *a); void B::set_strategy(A *a); void B::set_strategy(std::shared_ptr<A> a); //如果担心A不小心被释放而导致B无法调用的话
void B::generic_algo(std::function<void()> const &func);
引用 6 楼 boyhailong 的回复:引用 5 楼 sduxiaoxiang 的回复:引用 4 楼 boyhailong 的回复:引用 1 楼 sduxiaoxiang 的回复:把A弄成单例类。 这个还没考虑过 单例 直接调用方法就是 单例 调用对象保证只有一个实例,但是如果我需要多个呢? 为了调用这个memfun而这么做,如果未来需求变了,怎么办? 如果……
引用 5 楼 sduxiaoxiang 的回复:引用 4 楼 boyhailong 的回复:引用 1 楼 sduxiaoxiang 的回复:把A弄成单例类。 这个还没考虑过 单例 直接调用方法就是 单例 调用对象保证只有一个实例,但是如果我需要多个呢? 为了调用这个memfun而这么做,如果未来需求变了,怎么办?
引用 4 楼 boyhailong 的回复:引用 1 楼 sduxiaoxiang 的回复:把A弄成单例类。 这个还没考虑过 单例 直接调用方法就是
引用 1 楼 sduxiaoxiang 的回复:把A弄成单例类。 这个还没考虑过
把A弄成单例类。
还有一个方法,friend关键字。至于你所说的date-mem生命周期建议你重新考虑下你的设计。
64,651
社区成员
250,488
社区内容
加载中
试试用AI创作助手写篇文章吧