你自己的回答都是正确的。其中问题二,我想说,cin和cout(还有cerr),是对象名,不是类名,也就是说,它们仨是对象,以std的命名空间定义在了iostream文件中,具有全局作用域。既然这三个是对象,那它们肯定是有类型的,不过这个类型是什么对我们的意义不大,你可以试试用右键Goto definition的功能看看它们的类型是什么。假如你真的知道了它的类型,那么在主函数中自己定义一个这个类型的对象,然后像用cin cout一样用你自己定义的这个,估计也是可以的。