C++ 为什么可以';在C++;这样地?

C++ 为什么可以';在C++;这样地?,c++,class,object,C++,Class,Object,我有一个简单的类,如下所示: class Tperson { private: ... public: void input(){...} void output(){...} } 在我创建的主函数中,有类Tperson的对象: Tperson p1, p2, p3; 现在通常,如果我想给它们赋值并在屏幕上打印它们,我会这样做: p1.input(); p2.input(); p3.input(); p1.output(); p2.output(); p3.output(); 但

我有一个简单的类,如下所示:

class Tperson
{
 private:
 ...
 public:
 void input(){...}
 void output(){...}
}
在我创建的主函数中,有类Tperson的对象:

Tperson p1, p2, p3;
现在通常,如果我想给它们赋值并在屏幕上打印它们,我会这样做:

p1.input();
p2.input();
p3.input();
p1.output();
p2.output();
p3.output();
但这样我就必须输入两个,如果有更多的对象,这将是非常不礼貌的,所以我尝试了以下方法:

for(int i = 1; i <= 3; i++)
{
    pi.input();
    pi.output();
}
对于(int i=1;i使用:

std::病媒人(3);
用于(自动和人员:人员)
{
person.input();
person.output();
}

有数组。标准库中的容器,可能还有其他我忘了的东西。但是,你真的认为你需要这个能力吗?@Morchul抱歉,方括号加上了!但是仍然不起作用。
pi
不是一个对象,所以你不能在它上面调用
input();
。看看bolov的例子。这不是一个吗。。。
std::vector<Tperson> persons(3);

for (auto& person : persons)
{
    person.input();
    person.output();
}