# Demonstrating STL vector constructors with a user-defined type and showing copying explicitly : vector « Vector « C++

Home
C++
 1 Bitset 2 Class 3 Console 4 Data Structure 5 Data Type 6 Deque 7 Development 8 File 9 Function 10 Generic 11 Language 12 List 13 Map Multimap 14 Overload 15 Pointer 16 Qt 17 Queue Stack 18 Set Multiset 19 STL Algorithms Binary search 20 STL Algorithms Heap 21 STL Algorithms Helper 22 STL Algorithms Iterator 23 STL Algorithms Merge 24 STL Algorithms Min Max 25 STL Algorithms Modifying sequence operations 26 STL Algorithms Non modifying sequence operations 27 STL Algorithms Sorting 28 STL Basics 29 String 30 Valarray 31 Vector
 C++ » Vector » vector Screenshots
Demonstrating STL vector constructors with a user-defined type and showing copying explicitly
 ```      #include  #include  #include  using namespace std; class MyClass { public:   unsigned long id;   unsigned long generation;   static unsigned long total_copies;   MyClass() : id(0), generation(0) { }   MyClass(unsigned long n) : id(n), generation(0) { }   MyClass(const MyClass& z) : id(z.id), generation(z.generation + 1) {     ++total_copies;   } }; bool operator==(const MyClass& x, const MyClass& y) {   return x.id == y.id; } bool operator!=(const MyClass& x, const MyClass& y) {   return x.id != y.id; } unsigned long MyClass::total_copies = 0; int main() {   vector vector1, vector2(3);   assert (vector1.size() == 0);   assert (vector2.size() == 3);   assert (vector2[0] == MyClass() && vector2[1] == MyClass() &&           vector2[2] == MyClass());   for (int i = 0; i != 3; ++i)     cout << "vector2[" << i << "].generation: " << vector2[i].generation << endl;   cout << "Total copies: " << MyClass::total_copies << endl;   return 0; } /*  vector2[0].generation: 1 vector2[1].generation: 1 vector2[2].generation: 1 Total copies: 3  */                     ```
Related examples in the same category
 1 Demonstrating the simplest STL vector constructors: duplicate chars 2 Demonstrating the simplest STL vector constructors: empty vector 3 Use generic vector to create vector of chars 4 Use generic vector to create vector of integers 5 Use generic vector to create vector of strings 6 Assign Items in int array to vector 7 Store a class object in a vector 8 Requirements for Classes Used in Vectors 9 Read keyboard input to a vector 10 Add class to a vector and then delete them one by one 11 Pass vector to a function 12 Computing an inner product of tuples represented as vectors 13 Assign value to the last Item 14 Demonstrating STL vector copying constructors 15 Demonstrating STL vector constructors with a user-defined type 16 Pass vector of integer to a function 17 Use typedef to define new type based on vector