Object-Oriented Programming in C++

Code display of PL3/vector2.cpp

// PL3/vector2.cpp
// Demonstration of the vector container
// Niels Walet, last updated 04/12/2019
#include<iostream>
#include<vector>
#include<string>
int main() 
{
  const size_t n_a{5};
  std::vector<double> a(n_a); //length 5 vector of type double
  std::vector<double> b;  // empty vector (stores doubles)
  std::vector<int> c(3,1); //length 3 vector of integers, with all elements 1
  std::vector<std::string> names(3); //vector with 3 strings
  std::vector<std::vector<double> > dd(3); //vector containing 3 empty double vectors
  dd[0]=a;// set the first element of dd to the vector a
  if(!(a.empty())) std::cout<<"a is not empty"<<std::endl;
  if(b.empty()) std::cout<<"b is empty"<<std::endl;
  std::cout<<"a has size: "<<a.size()<<std::endl;
  std::cout<<"b has size: "<<b.size()<<std::endl;
  std::cout<<"c has size: "<<c.size()<<std::endl;
  std::cout<<"names has size: "<<names.size()<<std::endl;
  std::cout<<"dd has size: "<<names.size()<<std::endl;
  names[0] = "Vector"; 
  names[1] = "of";
  names[2] = "strings";
  for(size_t i{}; i<names.size(); ++i)
    std::cout<<"names["<<i<<"] = "<<names[i]<<std::endl;
  b.push_back(1.5);
  b.push_back(3.0);
  b.push_back(4.5);
  std::cout<<"b now has size "<<b.size()<<std::endl;
  for(size_t i{}; i<b.size(); ++i) 
    std::cout<<"b["<<i<<"] = "<<b[i]<<std::endl;
  b.pop_back(); 
  std::cout<<"b now has size "<<b.size()<<std::endl;
  b.clear(); 
  if(b.empty()) std::cout<<"b is now empty"<<std::endl;
  return 0;
}

Download here; To copy and paste: double click inside code, then copy.