当我在C ++中对类使用vector时会发生什么

赛飞369

我有Person类,并创建一个Person类型的向量。我想知道当我用向量索引调用Person类型的函数时,帽子会发生的情况。这是将对象存储在数组中还是什么?请先简单解释一下,非常感谢。

#include<iostream>
#include<string>
#include<vector>
using namespace std;
class Person
{
int age;
string name;
public:
Person(){};
void getdata()
{
    cout << "Enter your name: ";
    getline(cin >> ws, name);
    cout << "Enter your age: ";
    cin >> age;
}
void showdata()
{
    cout << "\nHello " << name << " your age is " << age;
}
};
void main()
{
vector<Person> myVector(3); 
unsigned int i = 0;
for (i; i < 3; i++)
    myVector[i].getdata();//Does this create & save an objects in that  location   Please explain briefly, Thanks
for (i=0; i < 3; i++)       //What if I do this like
                            /*for (i=0; i < 3; i++)
                                { Person p;
                                myVector.puskback(p); }
                                or what if I want a new data then what??*/

    myVector[i].showdata();
system("pause");
}
阿查法案

考虑

class A
{
public:
    A(){}
    foo(){}
};
...
int main()
{
     std::vector<A> v1(3);
     //this creates a vector with 3 As by calling the empty constructor on each
     //means means you can readily manipulate these 3 As in v1
     for(int i = 0; i < v1.size(); i++)
         v1[i].foo();

     std::vector<A> v2;
     //this creates a vector of As with no pre-instantiated As
     //you have to create As to add to the vector
     A a1;
     v2.push_back(a1);
     //you can now manipulate a1 in v2
     v2[0].foo(); 

     //You can add to v1 after having initially created it with 3 As
     A a2;
     v1.push_back(a2);

     //You have all the flexibility you need.
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我们在同一类中创建类的实例时会发生什么?

来自分类Dev

当我使用多个模拟时间时会发生什么?

来自分类Dev

当我截断正在使用的文件时会发生什么?

来自分类Dev

当我使用多个模拟时间时会发生什么?

来自分类Dev

在C ++中,当我对-128,127范围以外的整数使用static_cast <char>时会发生什么?

来自分类Dev

当我在C ++中对未初始化的指针调用“删除”时会发生什么?

来自分类Dev

当我在Bash脚本中对函数使用`&`时会发生什么?

来自分类Dev

Java-当我们在自己的类中创建类型为class的数据类型时会发生什么?

来自分类Dev

发生“注入类名称”时会发生什么?(C ++)

来自分类Dev

当我将null转换为另一个类时会发生什么

来自分类Dev

当我们在C#中访问字符串的'Length'属性时会发生什么?

来自分类Dev

当我尝试使用空的默认构造函数创建对象但在 ANSI C++ 中添加括号时会发生什么?

来自分类Dev

当我在同一指针中两次使用malloc()时会发生什么?

来自分类Dev

当我绑定到AliasProperty时会发生什么?

来自分类Dev

当我调用“ BufferStrategy.show()”时会发生什么?

来自分类Dev

当我放弃对iOS 6的支持时会发生什么?

来自分类Dev

MySql-当我用“ and”更新时会发生什么

来自分类Dev

当我多次调用requestAnimationFrame时会发生什么

来自分类Dev

当我放弃对iOS 6的支持时会发生什么?

来自分类Dev

当我将%esp移至%ebp时会发生什么?

来自分类Dev

当我不输入期望的命令时会发生什么?

来自分类Dev

当我忘记登录TTY时会发生什么?

来自分类Dev

当我调用“ BufferStrategy.show()”时会发生什么?

来自分类Dev

当我取消订阅 Observable 链时会发生什么?

来自分类Dev

当我们在Android Studio中添加DEPENDENCY时会发生什么

来自分类Dev

当我在异步回调中设置对象时会发生什么?

来自分类Dev

当我释放Delphi中可能不存在的内存时会发生什么?

来自分类Dev

当我在代码中留下一些断点时会发生什么?

来自分类Dev

当我们在Collections.synchronizedMap()中传递哈希表时会发生什么

Related 相关文章

  1. 1

    当我们在同一类中创建类的实例时会发生什么?

  2. 2

    当我使用多个模拟时间时会发生什么?

  3. 3

    当我截断正在使用的文件时会发生什么?

  4. 4

    当我使用多个模拟时间时会发生什么?

  5. 5

    在C ++中,当我对-128,127范围以外的整数使用static_cast <char>时会发生什么?

  6. 6

    当我在C ++中对未初始化的指针调用“删除”时会发生什么?

  7. 7

    当我在Bash脚本中对函数使用`&`时会发生什么?

  8. 8

    Java-当我们在自己的类中创建类型为class的数据类型时会发生什么?

  9. 9

    发生“注入类名称”时会发生什么?(C ++)

  10. 10

    当我将null转换为另一个类时会发生什么

  11. 11

    当我们在C#中访问字符串的'Length'属性时会发生什么?

  12. 12

    当我尝试使用空的默认构造函数创建对象但在 ANSI C++ 中添加括号时会发生什么?

  13. 13

    当我在同一指针中两次使用malloc()时会发生什么?

  14. 14

    当我绑定到AliasProperty时会发生什么?

  15. 15

    当我调用“ BufferStrategy.show()”时会发生什么?

  16. 16

    当我放弃对iOS 6的支持时会发生什么?

  17. 17

    MySql-当我用“ and”更新时会发生什么

  18. 18

    当我多次调用requestAnimationFrame时会发生什么

  19. 19

    当我放弃对iOS 6的支持时会发生什么?

  20. 20

    当我将%esp移至%ebp时会发生什么?

  21. 21

    当我不输入期望的命令时会发生什么?

  22. 22

    当我忘记登录TTY时会发生什么?

  23. 23

    当我调用“ BufferStrategy.show()”时会发生什么?

  24. 24

    当我取消订阅 Observable 链时会发生什么?

  25. 25

    当我们在Android Studio中添加DEPENDENCY时会发生什么

  26. 26

    当我在异步回调中设置对象时会发生什么?

  27. 27

    当我释放Delphi中可能不存在的内存时会发生什么?

  28. 28

    当我在代码中留下一些断点时会发生什么?

  29. 29

    当我们在Collections.synchronizedMap()中传递哈希表时会发生什么

热门标签

归档