-5
我为一个类使用一个桥,并且我会生命创建一个std ::向量的std ::向量桥。C++桥梁模式和智能指针
虽然桥梁的矢量工作。
例如:
std::vector<Bridge> lBridge(5)
矢量的矢量不工作。 例如:
std::vector<std::vector<Bridge>> lBridge(5,std::vector<Bridge>(4))
当我创建载体的载体,它进入这个构造桥(常量桥&原件),以及原来是空...
这是我的代码:
Bridge.h
#ifndef BRIDGE_H
#define BRIDGE_H
#pragma once
#include <MyObject.h>
#include <boost/make_shared.hpp>
class Bridge{
public :
Bridge(const Bridge & original);
Bridge(const MyObject & innerObject);
Bridge(){};
Bridge& operator=(const IBridge& original);
private :
boost::shared_ptr<MyObject> mMyObjectPtr;
};
#endif
Bridge.cpp
#include<Bridge.h>
Bridge::Bridge(constBridge& inOriginal){
mMyObjectPtr = inOriginal.mMyObjectPtr->clone();
}
Bridge::Bridge(const MyObject& inInnerObject){
mMyObjectPtr = inInnerObject.clone();
}
Bridge& Bridge::operator=(const Bridge& inOriginal){
if (this != &inOriginal){
mMyObjectPtr = inOriginal.mMyObjectPtr->clone();
}
return *this;
}
StackOverflow是一个问题解答网站。什么是问题? – Drop
你怎么实际访问矢量的'lBridge'矢量? –
我认为Bridge模式与 – gomons