我有一个小问题,因为我正在做我的学校项目,我需要的是使用std ::列表创建类似容器女巫。显示一个std ::列表<type*>
#include <iostream>
#include <list>
template<typename T>
class SomeContainer
{
public:
SomeContainer &operator[](size_t i) ;
void push_back(const T &);
std::list<T> someContent_;
}
class A
{
//it doesn't matter whats inside
}
class B: public A
{}
class C: public A
{}
int main()
{
SomeContainer <A*> something_;
something_.push_back(new B);
cout<< something [0];
}
我做了这样的事情,有一个问题。我如何显示A类内容,而不是指向它的指针?当我使用int或字符串类型,一切工作正常,但<A*>
即使我写
cout << *something[0];
它不会帮助:)
什么是你的错误? cout << some_instance_of_A工作吗? (即你是否为它实现了operator <<(ostream)? –
为什么你的'operator []'返回容器类型而不是它包含的内容? – Galik
你在生命早期就已经*写几个* small *,* separate *程序,让你完全熟悉a)'std :: list',b)指针和取消引用,c)重载'operator <<'。只有这样才能建立一些复杂的东西。 –