std::cout er c++ sin metode for å printe ut til terminalen. For å bruke std::cout må man inkludere <iostream>. I eksempelet under ser du hvordan man bruker std::cout til å printe ut en string og sammelignet med den ekvivalente koden i python.
#include <iostream>
int main()
{
std::cout << "Hello world\n";
// python: print("Hello world")
}
Merk her at i c++ må man inkludere \n (newline) for å sørge for at neste linje som blir skrevet ut, blir skrevet på ny linje. Dette er i motsetning til python hvor default/standard er at print inkluderer newline, men kan evenutelt fjernes. Dette betyr at det er enkelt i c++ å skrive videre på samme linje hvis man ønsker.
Ettersom det er relativt vanlig å avslutte med newline er det std::endl implementert for å gi en litt mer intuitv måte å avslutte linjen på.
std::cout << "Hello world" << std::endl;
Som vi så over er det mulig å printe ut flere ting om gangen. Her "Hello world" og std:cin. std:cout kan ha vilkårlig antall ledd på denne måten.
std::cout << "Hello, " << "I " << "am " << 10 << " years " << "old." << std::endl;
En av fordelene med std::cout er at den støtter mange forskjellige typer.
std::cout << "int: " << 565 << std::endl;
std::cout << "double: " << 3.14 << std::endl;
std::cout << "char: " << 'c' << std::endl;
std::cout << "bool: " << true << std::endl;
std::cout støtter ikke alle typer uten videre. For eksempel vil ikke std::cout uten videre vite hvordan den skal printe ut egendefinerte klasser. For å printe ut egendefinerte klasser må vi først overskrive <<-operatoren.
// Headerfil (person.hpp)
#pragma once
#include <string>
#include <ostream>
class Person
{
private:
std::string fornavn;
std::string etternavn;
public:
Person(std::string fornavn, std::string etternavn) : fornavn(fornavn), etternavn(etternavn) {};
std::string getFornavn() {return fornavn;}
std::string getEtternavn() {return etternavn;}
};
std::ostream& operator<<(std::ostream& os, Person &person);
// Implemetasjonsfil (person.cpp)
#include "person.hpp"
std::ostream& operator<<(std::ostream& os, Person &person) {
return os << person.getFornavn() << " " << person.getEtternavn();
}
// Hovedfil (main.cpp)
#include <iostream>
#include "foodPriceMap.hpp"
#include "person.hpp"
int main()
{
Person Ola{"Ola", "Normann"};
std::cout << "Person: " << Ola << std::endl;
}
Se artikkelen om cin for å lese om hvordan man tar imot input fra brukeren i terminalen.