<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jsarjas</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jsarjas"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Jsarjas"/>
	<updated>2026-05-05T18:15:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3932</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3932"/>
		<updated>2010-02-19T15:01:12Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tüübiteisendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tingimus operaator (?:) ==&lt;br /&gt;
&lt;br /&gt;
Tingimus (true/false) ? tulemus1, kui on tõene : tulemus2, kui on väär&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a,b,c;&lt;br /&gt;
&lt;br /&gt;
a=2;&lt;br /&gt;
b=7;&lt;br /&gt;
c = (a&amp;gt;b) ? a : b;&lt;br /&gt;
// c:7, sest (2&amp;gt;7) on väär ja valitakse teine muutuja b väärtusega 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== koma (,) ==&lt;br /&gt;
&lt;br /&gt;
Koma operaatorit kasutatakse seal, kus on oodatud ainult üks tehe, aga tehakse rohkem kui üks tehe. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);   // a:5&lt;br /&gt;
a = b=3, b+2;     // a:3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Comma_operator Comma operator]&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikibooks.org/wiki/C++_Programming/Type_Casting C++ Type Casting]&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3931</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3931"/>
		<updated>2010-02-19T15:00:48Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tüübiteisendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tingimus operaator (?:) ==&lt;br /&gt;
&lt;br /&gt;
Tingimus (true/false) ? tulemus1, kui on tõene : tulemus2, kui on väär&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a,b,c;&lt;br /&gt;
&lt;br /&gt;
a=2;&lt;br /&gt;
b=7;&lt;br /&gt;
c = (a&amp;gt;b) ? a : b;&lt;br /&gt;
// c:7, sest (2&amp;gt;7) on väär ja valitakse teine muutuja b väärtusega 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== koma (,) ==&lt;br /&gt;
&lt;br /&gt;
Koma operaatorit kasutatakse seal, kus on oodatud ainult üks tehe, aga tehakse rohkem kui üks tehe. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);   // a:5&lt;br /&gt;
a = b=3, b+2;     // a:3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Comma_operator Comma operator]&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Type_conversion Type conversion]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikibooks.org/wiki/C++_Programming/Type_Casting C++ Type Casting]&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3930</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3930"/>
		<updated>2010-02-19T15:00:40Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tüübiteisendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tingimus operaator (?:) ==&lt;br /&gt;
&lt;br /&gt;
Tingimus (true/false) ? tulemus1, kui on tõene : tulemus2, kui on väär&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a,b,c;&lt;br /&gt;
&lt;br /&gt;
a=2;&lt;br /&gt;
b=7;&lt;br /&gt;
c = (a&amp;gt;b) ? a : b;&lt;br /&gt;
// c:7, sest (2&amp;gt;7) on väär ja valitakse teine muutuja b väärtusega 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== koma (,) ==&lt;br /&gt;
&lt;br /&gt;
Koma operaatorit kasutatakse seal, kus on oodatud ainult üks tehe, aga tehakse rohkem kui üks tehe. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);   // a:5&lt;br /&gt;
a = b=3, b+2;     // a:3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Comma_operator Comma operator]&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Type_conversion Type conversion]&lt;br /&gt;
[http://en.wikibooks.org/wiki/C++_Programming/Type_Casting C++ Type Casting]&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3929</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3929"/>
		<updated>2010-02-19T14:59:04Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tüübiteisendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tingimus operaator (?:) ==&lt;br /&gt;
&lt;br /&gt;
Tingimus (true/false) ? tulemus1, kui on tõene : tulemus2, kui on väär&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a,b,c;&lt;br /&gt;
&lt;br /&gt;
a=2;&lt;br /&gt;
b=7;&lt;br /&gt;
c = (a&amp;gt;b) ? a : b;&lt;br /&gt;
// c:7, sest (2&amp;gt;7) on väär ja valitakse teine muutuja b väärtusega 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== koma (,) ==&lt;br /&gt;
&lt;br /&gt;
Koma operaatorit kasutatakse seal, kus on oodatud ainult üks tehe, aga tehakse rohkem kui üks tehe. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);   // a:5&lt;br /&gt;
a = b=3, b+2;     // a:3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Comma_operator Comma operator]&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Type_conversion Type conversion]&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3928</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3928"/>
		<updated>2010-02-19T14:57:50Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* koma (,) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tingimus operaator (?:) ==&lt;br /&gt;
&lt;br /&gt;
Tingimus (true/false) ? tulemus1, kui on tõene : tulemus2, kui on väär&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a,b,c;&lt;br /&gt;
&lt;br /&gt;
a=2;&lt;br /&gt;
b=7;&lt;br /&gt;
c = (a&amp;gt;b) ? a : b;&lt;br /&gt;
// c:7, sest (2&amp;gt;7) on väär ja valitakse teine muutuja b väärtusega 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== koma (,) ==&lt;br /&gt;
&lt;br /&gt;
Koma operaatorit kasutatakse seal, kus on oodatud ainult üks tehe, aga tehakse rohkem kui üks tehe. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);   // a:5&lt;br /&gt;
a = b=3, b+2;     // a:3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Comma_operator Comma operator]&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3927</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3927"/>
		<updated>2010-02-19T14:56:11Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* (,) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tingimus operaator (?:) ==&lt;br /&gt;
&lt;br /&gt;
Tingimus (true/false) ? tulemus1, kui on tõene : tulemus2, kui on väär&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a,b,c;&lt;br /&gt;
&lt;br /&gt;
a=2;&lt;br /&gt;
b=7;&lt;br /&gt;
c = (a&amp;gt;b) ? a : b;&lt;br /&gt;
// c:7, sest (2&amp;gt;7) on väär ja valitakse teine muutuja b väärtusega 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== koma (,) ==&lt;br /&gt;
&lt;br /&gt;
Koma operaatorit kasutatakse seal, kus on oodatud ainult üks tehe, aga tehakse rohkem kui üks tehe. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Comma_operator Comma operator]&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3924</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3924"/>
		<updated>2010-02-19T14:52:04Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tingimus operaator (?:) ==&lt;br /&gt;
&lt;br /&gt;
Tingimus (true/false) ? tulemus1, kui on tõene : tulemus2, kui on väär&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a,b,c;&lt;br /&gt;
&lt;br /&gt;
a=2;&lt;br /&gt;
b=7;&lt;br /&gt;
c = (a&amp;gt;b) ? a : b;&lt;br /&gt;
// c:7, sest (2&amp;gt;7) on väär ja valitakse teine muutuja b väärtusega 7&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3922</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3922"/>
		<updated>2010-02-19T14:51:34Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tingimus operaator (?:) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tingimus operaator (?:) ==&lt;br /&gt;
&lt;br /&gt;
Tingimus (true/false) ? tulemus1, kui on tõene : tulemus2, kui on väär&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a,b,c;&lt;br /&gt;
&lt;br /&gt;
a=2;&lt;br /&gt;
b=7;&lt;br /&gt;
c = (a&amp;gt;b) ? a : b;&lt;br /&gt;
// c:7, sest (2&amp;gt;7) on väär ja valitakse teine muutuja b väärtusega 7&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3921</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3921"/>
		<updated>2010-02-19T14:51:11Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* (?) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tingimus operaator (?:) ==&lt;br /&gt;
&lt;br /&gt;
Tingimus (true/false) ? tulemus1, kui on tõene : tulemus2, kui on väär&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a,b,c;&lt;br /&gt;
&lt;br /&gt;
a=2;&lt;br /&gt;
b=7;&lt;br /&gt;
c = (a&amp;gt;b) ? a : b;&lt;br /&gt;
// c:7, sest (2&amp;gt;7) on väär ja valitakse teine muutuja b väärtusega 7&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3918</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3918"/>
		<updated>2010-02-19T14:41:59Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tehete järjekord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== (?) ==&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke [http://wiki.itcollege.ee/index.php/C%2B%2B_l%C3%BChikursus#Lisalugemist_2 lisalugemise] all.&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3917</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3917"/>
		<updated>2010-02-19T14:41:12Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tehete järjekord */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== (?) ==&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
vaata linke lisalugemise all&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3916</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3916"/>
		<updated>2010-02-19T14:40:09Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Lisalugemist */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== (?) ==&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Kui klaviatuurilt ei saa mõnda operaatorit sisestada [http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord ja operaatorite üledefinerimise näide [http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3915</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3915"/>
		<updated>2010-02-19T14:38:54Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true, sest b väärtustatakse kahega (2 == 2). &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== (?) ==&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3914</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3914"/>
		<updated>2010-02-19T14:37:33Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad arvulisi väärtusi, tagastab true või false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(7 == 5)     // false.&lt;br /&gt;
(5 &amp;gt; 4)      // true.&lt;br /&gt;
(3 != 2)     // true.&lt;br /&gt;
(6 &amp;gt;= 6)     // true.&lt;br /&gt;
(5 &amp;lt; 5)      // false.&lt;br /&gt;
&lt;br /&gt;
int a = 2;&lt;br /&gt;
int b = 3;&lt;br /&gt;
int c = 6;&lt;br /&gt;
&lt;br /&gt;
(a == 5)     // false, sest a ei ole võrdne viiega.&lt;br /&gt;
(a*b &amp;gt;= c)   // true, sest (2*3 &amp;gt;= 6) on tõene. &lt;br /&gt;
(b+4 &amp;gt; a*c)  // false, sest (3+4 &amp;gt; 2*6) on väär. &lt;br /&gt;
((b=2) == a) // true. &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== (?) ==&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3913</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3913"/>
		<updated>2010-02-19T14:32:38Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== (?) ==&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3912</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3912"/>
		<updated>2010-02-19T14:31:42Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; == &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Võrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; != &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Mittevõrdus &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem kui &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Suurem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;= &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Väiksem või võrdne &amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== (?) ==&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3911</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3911"/>
		<updated>2010-02-19T14:26:30Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Loogikatehted ( !, &amp;amp;&amp;amp;, || ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = !a;      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a &amp;amp;&amp;amp; b;  // c:false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;||&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false;&lt;br /&gt;
bool b = true;&lt;br /&gt;
bool c = a || b;  // c:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== (?) ==&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3908</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3908"/>
		<updated>2010-02-19T14:15:11Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Loogikatehted ( !, &amp;amp;&amp;amp;, || ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
Võrdlevad kahendväärtusi (true, false)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;!&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bool a = false&lt;br /&gt;
bool b = !a      // b:true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== (?) ==&lt;br /&gt;
&lt;br /&gt;
== (,) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3906</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3906"/>
		<updated>2010-02-19T14:08:48Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tehete järjekord ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3905</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3905"/>
		<updated>2010-02-19T14:08:16Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tüübiteisendus ==&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3904</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3904"/>
		<updated>2010-02-19T14:04:55Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Suurendamine, vähendamine ühe võrra (++, --) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix (suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3903</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3903"/>
		<updated>2010-02-19T14:04:24Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0xF000&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3902</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3902"/>
		<updated>2010-02-19T14:02:39Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;          // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;          // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;          // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;             // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3901</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3901"/>
		<updated>2010-02-19T14:01:02Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;   // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;|&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;OR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a | b;   // c:0xFFFF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;^&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;XOR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a ^ b;   // c:0xFF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;~&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;NOT&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
int b = ~a;   // b:0xF0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;&amp;lt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHL&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Vasakule nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;lt;&amp;lt; 8;   // b:0xF0F0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 5;             // b:0xE1E0&lt;br /&gt;
b = a &amp;lt;&amp;lt; 12;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;gt;&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHR&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Paremale nihe&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = a &amp;gt;&amp;gt; 8;   // b:0x0FF0&lt;br /&gt;
b = a &amp;gt;&amp;gt; 16;            // b:0x0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3900</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3900"/>
		<updated>2010-02-19T13:49:19Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
short int a = 0xFF0F;&lt;br /&gt;
short int b = 0xF0FF;&lt;br /&gt;
int c = a &amp;amp; b;   // c:0xF00F&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3898</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3898"/>
		<updated>2010-02-19T13:45:40Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Bititehted modifitseerivad muutujaid arvestades nendes hoitavate väärtuste bitte.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;amp;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;AND&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3897</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3897"/>
		<updated>2010-02-19T13:38:52Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Lisalugemist */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/alternative_operators Alternative Operators]&lt;br /&gt;
&lt;br /&gt;
[http://www.cppreference.com/wiki/operator_precedence C++ Operator Precedence and overloading]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3895</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3895"/>
		<updated>2010-02-19T13:28:17Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
a %= b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
a = a % b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3894</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3894"/>
		<updated>2010-02-19T13:26:04Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt; &amp;lt;-&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3893</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3893"/>
		<updated>2010-02-19T13:23:27Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
Kui me tahame modifitseerida muutuja väärtust rakendades talle mingit tehet hetkel salvestatud väärtusele selles muutujas.&lt;br /&gt;
Näiteks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Tehtega omistamine&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;On samaväärne&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a -= b;&lt;br /&gt;
a += b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = a - b;&lt;br /&gt;
a = a + b;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3892</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3892"/>
		<updated>2010-02-19T13:10:20Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Aritmeetilised tehted ( +, -, *, /, % ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Millega lugeja ehk kokku puutunud pole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3891</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3891"/>
		<updated>2010-02-19T13:01:32Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Aritmeetilised tehted ( +, -, *, /, % ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
Liitmine(+), lahutamine(-), korrutamine(*) ja jagamine(/) on üsna tavalised tehted ja nendest siin kirjutama ei hakka.&lt;br /&gt;
Mis aga nii tavaline ei ole on jäägiga jagamine(%).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3890</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3890"/>
		<updated>2010-02-19T12:57:10Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Suurendamine, vähendamine ühe võrra (++, --) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
% on jäägiga jagamine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
Ühe võrra suurendamisega samaväärsed tehted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a++;&lt;br /&gt;
a+=1;&lt;br /&gt;
a=a+1;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prefix ja postfix(suffix).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3889</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3889"/>
		<updated>2010-02-19T12:47:25Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
% on jäägiga jagamine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
== Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=) ==&lt;br /&gt;
&lt;br /&gt;
== Suurendamine, vähendamine ühe võrra (++, --) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 5;&lt;br /&gt;
// prefix, väärtustamine peale a väärtuse inkrementeerimist&lt;br /&gt;
int b = ++a;  // b:6, a:6&lt;br /&gt;
// postfix, väärtustamine enne a väärtuse inkrementeerimist&lt;br /&gt;
int c = a++;  // c:5, a:6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama kehtib ka vähendamisel.&lt;br /&gt;
&lt;br /&gt;
== Võrdlustehted ( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= ) ==&lt;br /&gt;
&lt;br /&gt;
== Loogikatehted ( !, &amp;amp;&amp;amp;, || ) ==&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
== Lisalugemist ==&lt;br /&gt;
&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3888</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3888"/>
		<updated>2010-02-19T12:30:08Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
== Muutuja väärtustamine (=) ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Aritmeetilised tehted ( +, -, *, /, % ) ==&lt;br /&gt;
&lt;br /&gt;
% on jäägiga jagamine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
== Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; ) ==&lt;br /&gt;
&lt;br /&gt;
Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=)&lt;br /&gt;
&lt;br /&gt;
(++, --)&lt;br /&gt;
&lt;br /&gt;
( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= )&lt;br /&gt;
&lt;br /&gt;
( !, &amp;amp;&amp;amp;, || )&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3887</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3887"/>
		<updated>2010-02-19T12:28:47Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kolmas tüüp - valikulause (switch statement)&lt;br /&gt;
&lt;br /&gt;
Kui meil näiteks on vaja, et muutuja iga konkreetse väärtuse peale käivituks erinev tingimus, võime kasutada valiklauset (switch case). Valiklauseid on suhteliselt kerge jälgida ning modifitseerida. Töötab see nii, et alustades ülaltpoolt hakkab programm võrdlema tingimusi- juhul kui tingimus sobib käivitab ta selle bloki. Viimane case blokk on &amp;quot;default&amp;quot; mis käivitatakse alati kui programm sinna jõuab. Kuna iga bloki lõpus on ka break käsk siis sinnani jõudes katkestatakse  valiklause ning lõpetatakse seal oleva koodi täitmine. &lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number 1,2 või 3 &amp;quot;;&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
	switch (number) {&lt;br /&gt;
//juhul kui number on üks käivitame selle bloki&lt;br /&gt;
	   case 1:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;sisestati number 1 &amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui number on 2 käivitame selle bloki&lt;br /&gt;
	   case 2:&lt;br /&gt;
	      cout &amp;lt;&amp;lt; &amp;quot;Sisestati number 2&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
		break;&lt;br /&gt;
//juhul kui eelnevaid blokke pole üldse käivitatud lähme siia blokki&lt;br /&gt;
	   default:&lt;br /&gt;
		cout &amp;lt;&amp;lt; &amp;quot;Sisestati number mis pole kaks ega üks&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While kordus&lt;br /&gt;
&lt;br /&gt;
while(tingimus){kood mida täidetakse nii kaua kuni tingimus kehtib}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  int n;&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Number&amp;quot;;&lt;br /&gt;
  cin &amp;gt;&amp;gt; n;&lt;br /&gt;
// while loop millest ei väljuta ennne kui tingimus ei vasta enam tõele (ehk n on väiksem kui 0)&lt;br /&gt;
  while (n&amp;gt;0) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;, &amp;quot;;&lt;br /&gt;
//lahutame &#039;n&#039;ist iga tsükli käivitamise korral ühe&lt;br /&gt;
    n=n-1;&lt;br /&gt;
  }&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
Do-while kordus&lt;br /&gt;
&lt;br /&gt;
Do while kordus on põhimõtteliselt sama nagu while kordus ühe väikse erandiga: nimelt kontrollitakse tsüklist väljumise tingimust peale seda kui tsükkel on juba käivitatud. See tagab, et antud tsükkel  käivitatakse vähemalt üks kord ka siis kui tingimus ei pruugi tõele vastata. Mis on väga kasulik juhul kui kontrolltingimus tsüklist väljumiseks on defineeritud tsükli enda sees .&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main ()&lt;br /&gt;
{&lt;br /&gt;
  unsigned long n;&lt;br /&gt;
  do {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Enter number (0iga väljud tsüklist): &amp;quot;;&lt;br /&gt;
    cin &amp;gt;&amp;gt; n;&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;sisestati: &amp;quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
  } while (n != 0);&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
===Deklareerimine===&lt;br /&gt;
Muutuja deklareerimine ütleb kompileerimise ajal kompilaatorile muutuja tüübi ning selle võimaliku suuruse - double (8 baiti), int (4 baiti), short (2 baiti), char (1 bait) jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Deklareerime int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Defineerimine===&lt;br /&gt;
Muutuja defineerimine sisaldab endas muutujale mälu eraldamist ning muutuja (esmase) väärtuse salvestamist mällu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Defineerimine eelnevalt deklareeritud int tüüpi muutuja &#039;a&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui muutuja pole eelnevalt deklareeritud, siis on võimalik deklareerimine ja defineerimine omavahel kombineerida.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;int a = 10;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate deklareerimine funktsioonides===&lt;br /&gt;
Muutuja deklareerimine funktsiooni sees eraldab automaatselt muutujale mälu (defineerib muutuja). &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
    int a;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Selline deklareermine on ohtlik, sest me ei tea, mis on muutuja &#039;a&#039; väärtus. Kuna kompilaator defineerib muutuja &#039;a&#039; automaatselt, siis ta väärtuseks saab see, mis parasjagu talle eraldatud mälu aadressil salvestatud oli.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Muutujate väärtustamine===&lt;br /&gt;
Muutuja deklareerimisel on ta väärtus esialgu määramata või teadmata.&lt;br /&gt;
Esmakordset väärtustamist nimetatakse muutuja initsialiseerimiseks (&#039;&#039;initialization&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Näide:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 0;&lt;br /&gt;
int a (0); //constructor initialization&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Mõlemal kujul initsialiseerimine on C++ puhul korrektne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lisalugemist===&lt;br /&gt;
Rohkem näiteid ja täpsemalt muutujate deklareerimise kohta saab lugeda aadressidelt:&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/variables/ http://www.cplusplus.com/doc/tutorial/variables/]&lt;br /&gt;
&lt;br /&gt;
[http://stackoverflow.com/posts/671984/revisions http://stackoverflow.com/posts/671984/revisions]&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
[http://en.wikipedia.org/wiki/Operators_in_C_and_C++ Operators in C and C++]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine (=)&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aritmeetilised tehted ( +, -, *, /, % )&lt;br /&gt;
&lt;br /&gt;
% on jäägiga jagamine&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x = 9 % 6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
X väärtuseks saab 3, sest üheksa jagamisel kuuega on jääk 3.&lt;br /&gt;
&lt;br /&gt;
Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; )&lt;br /&gt;
&lt;br /&gt;
Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=)&lt;br /&gt;
&lt;br /&gt;
(++, --)&lt;br /&gt;
&lt;br /&gt;
( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= )&lt;br /&gt;
&lt;br /&gt;
( !, &amp;amp;&amp;amp;, || )&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi manipuleerimine=&lt;br /&gt;
[http://www.cplusplus.com/reference/iostream/manipulators/ IOStream&#039;i manipulaatorid] &amp;lt;br&amp;gt;&lt;br /&gt;
Ekraanil oleva teksti sisendi ja väljundi manipuleerimiseks on vaja kaasata &amp;quot;iomanip&amp;quot; header:&lt;br /&gt;
 #include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Välja laius==&lt;br /&gt;
setw(x), kus x on tähemärkide arv väljal.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide korralikult formeeritud korrutustabelist:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Joondamine väljal==&lt;br /&gt;
Väljal olevat teksti saab joondada vasakule ja paremale. Algselt joondatakse numbrid paremala ja selle jaoks on vaja ainult vasakjoondus sisse ja välja lülitada.&amp;lt;br/&amp;gt;&lt;br /&gt;
Sisse ja välja lülitamine:&lt;br /&gt;
 setiosflags(ios::left);&lt;br /&gt;
 resetiosflags(ios::left);&lt;br /&gt;
&lt;br /&gt;
Kui teiste juhtumite korral on vaja paremjoondust, siis tasub kasutada ios::right lippu.&amp;lt;br/&amp;gt;&lt;br /&gt;
Näide, kus üle rea vahetatakse joondust:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
	const int max = 12;&lt;br /&gt;
	const int width = 6;&lt;br /&gt;
	for(int row = 1;row &amp;lt;= max;row++) {&lt;br /&gt;
		if(row % 2) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		else {&lt;br /&gt;
			cout &amp;lt;&amp;lt; resetiosflags(ios::left);&lt;br /&gt;
		}&lt;br /&gt;
		for(int col = 1;col &amp;lt;= max;col++) {&lt;br /&gt;
			cout &amp;lt;&amp;lt; setw(width) &amp;lt;&amp;lt; row * col;&lt;br /&gt;
		}&lt;br /&gt;
		cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
	}&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=OpenCV=&lt;br /&gt;
==CvPoint==&lt;br /&gt;
&lt;br /&gt;
Open CV-s on 5 erinevat punkti klassi, millega võib meelde jäta punkti kordinaate pinnal või ruumis.&lt;br /&gt;
Järgnevad näited erinevate punktide loomisest ja seletused nende järel.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
      CvPoint uus = CvPoint(int x, int y)                           // Maht on vastav protsessori arhitektuurile (tavaliselt 32bit või 64bit). Klass on täisarvulise 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D32f uus = CvPoint2D32f(float x, float y)             // Maht on 32bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D32f uus = CvPoint3D32f(float x, float y, float z)    // Maht on 32bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint2D64f uus = CvPoint2D64f(double x, double y)           // Maht on 64bit. Klass on komakohaga 2D punkti hoidmiseks mõeldud.&lt;br /&gt;
      CvPoint3D64f uus = CvPoint3D64f(double x, double y, double z) // Maht on 64bit. Klass on komakohaga 3D punkti hoidmiseks mõeldud.&lt;br /&gt;
      &lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==cvLine==&lt;br /&gt;
&lt;br /&gt;
Joone joonistamiseks pinnal kasutatakse cvLine funktsiooni, mis võtab sisse pildi, alguspunkti, lõpppunkti, värvi (RGB), joone paksuse, joone tüübi, kui palju joont liigutada võib.&amp;lt;br/&amp;gt;&lt;br /&gt;
funktsioon: cvLine(CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness=1, int lineType=8, int shift=0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main(int argc, char *argv[]) // argc - mitu argumenti käsurealt kaasa anti programmi käivitamisel, argv[?] - argumentide massiiv&lt;br /&gt;
{&lt;br /&gt;
      IplImage* img = cvLoadImage(argv[1]); // proovime laadida esimese argumendiga pildi&lt;br /&gt;
      if(!img) // siis pole mõtet jätkata&lt;br /&gt;
      {&lt;br /&gt;
            cout &amp;lt;&amp;lt; &amp;quot;Pilti ei leitud!&amp;quot; &amp;lt;&amp;lt; endl; // teavitame kasutajat, et pilti ei leitud&lt;br /&gt;
            exit(0); // ja paneme programmi kinni&lt;br /&gt;
      }&lt;br /&gt;
      CvPoint algus = CvPoint( (img-&amp;gt;width/2), 0); // määrame alguspunkti pildi ülemisse äärde keskele&lt;br /&gt;
      CvPoint lopp = CvPoint( (img-&amp;gt;width/2), img-&amp;gt;height ); // määrame lõpppunkti pildi alumisse äärde keskele&lt;br /&gt;
&lt;br /&gt;
      cvLine(img, algus, lopp, CV_RGB(0,255,0), 1, 8, 0); // joonistame joone&lt;br /&gt;
&lt;br /&gt;
      return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3737</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3737"/>
		<updated>2010-02-14T11:32:25Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
if else &lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine (=)&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aritmeetilised tehted ( +, -, *, /, % )&lt;br /&gt;
&lt;br /&gt;
Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; )&lt;br /&gt;
&lt;br /&gt;
Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=)&lt;br /&gt;
&lt;br /&gt;
(++, --)&lt;br /&gt;
&lt;br /&gt;
( ==, !=, &amp;gt;, &amp;lt;, &amp;gt;=, &amp;lt;= )&lt;br /&gt;
&lt;br /&gt;
( !, &amp;amp;&amp;amp;, || )&lt;br /&gt;
&lt;br /&gt;
(?)&lt;br /&gt;
&lt;br /&gt;
(,)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a = (b=3, b+2);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehete järjekord&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi formaatimine=&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3736</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3736"/>
		<updated>2010-02-14T11:30:55Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
if else &lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine (=)&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aritmeetilised tehted ( +, -, *, /, % )&lt;br /&gt;
&lt;br /&gt;
Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; )&lt;br /&gt;
&lt;br /&gt;
Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=)&lt;br /&gt;
&lt;br /&gt;
(++, --)&lt;br /&gt;
&lt;br /&gt;
=Sisendi ja väljundi formaatimine=&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3733</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3733"/>
		<updated>2010-02-14T11:19:39Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
if else &lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine (=)&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 0xFF;         // c:255&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aritmeetilised tehted ( +, -, *, /, % )&lt;br /&gt;
&lt;br /&gt;
Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; )&lt;br /&gt;
&lt;br /&gt;
Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=)&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3732</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3732"/>
		<updated>2010-02-14T11:14:19Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda tingimuslauset täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp -if else&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks meil on rohkem kui üks stsenaarium mille puhul soovime kasutada erinevaid tingimuslauseid võime kasutada &amp;quot;if else&amp;quot; lauset. Eriti mugav on seda kasutada väärtusvahemike eraldamiseks&lt;br /&gt;
&lt;br /&gt;
NÄIDE:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
   int number;&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Sisesta number &amp;quot;;&lt;br /&gt;
//küsib käsurealt numbrit&lt;br /&gt;
   cin &amp;gt;&amp;gt; number;&lt;br /&gt;
//kui number on suurem kui 75 siis väljastab sõna &amp;quot;kala&amp;quot;&lt;br /&gt;
   if (number &amp;gt;75 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;kala&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on suurem kui 50 aga väiksem kui 75  siis väljastab sõna &amp;quot;koer&amp;quot;&lt;br /&gt;
   else if (number &amp;gt;50 )&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;koer&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
//kui number on väiksem kui 50&lt;br /&gt;
   else &lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;mauntz&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
   return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
if else &lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine (=)&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 1;            // c:1&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aritmeetilised tehted ( +, -, *, /, % )&lt;br /&gt;
&lt;br /&gt;
Bititehted ( &amp;amp;, |, ^, ~, &amp;lt;&amp;lt;, &amp;gt;&amp;gt; )&lt;br /&gt;
&lt;br /&gt;
Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=)&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3724</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3724"/>
		<updated>2010-02-14T11:06:23Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - Puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda ifi täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks tahame teha rohkem kui üks stensenaariumi &lt;br /&gt;
if else &lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine (=)&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;        // a:?,  b:?,  c:?&lt;br /&gt;
    c = 1;            // c:1&lt;br /&gt;
    a = 2 + (b = 5);  // a:7,  b:5&lt;br /&gt;
    a = b = c = 5;    // kõik väärtusega 5&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aritmeetilised tehted ( +, -, *, /, % )&lt;br /&gt;
&lt;br /&gt;
Tehtega väärtustamine (+=, -=, *=, /=, %=, &amp;gt;&amp;gt;=, &amp;lt;&amp;lt;=, &amp;amp;=, ^=, |=)&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3723</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3723"/>
		<updated>2010-02-14T10:59:10Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - Puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda ifi täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp&lt;br /&gt;
&lt;br /&gt;
Kui me näiteks tahame teha rohkem kui üks stensenaariumi &lt;br /&gt;
if else &lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;&lt;br /&gt;
    a = 2 + (b = 5);&lt;br /&gt;
    a = b = c = 5;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3721</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3721"/>
		<updated>2010-02-14T10:55:33Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - Puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda ifi täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
NÄIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teine tüüp&lt;br /&gt;
Kui me näiteks tahame teha rohkem kui üks stensenaariumi &lt;br /&gt;
if else &lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine =&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=cpp&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;&lt;br /&gt;
    a = 2 + (b = 5);&lt;br /&gt;
    a = b = c = 5;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3719</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3719"/>
		<updated>2010-02-14T10:54:55Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
&lt;br /&gt;
Esimene tüüp - Puhas IF&lt;br /&gt;
&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda ifi täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
NÄIDE&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Teine tüüp&lt;br /&gt;
Kui me näiteks tahame teha rohkem kui üks stensenaariumi &lt;br /&gt;
if else &lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine =&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;source lang=cpp&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;&lt;br /&gt;
    a = 2 + (b = 5);&lt;br /&gt;
    a = b = c = 5;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3717</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3717"/>
		<updated>2010-02-14T10:54:16Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda ifi täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
NÄIDE&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine &lt;br /&gt;
&amp;lt;source lang=cpp&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;&lt;br /&gt;
    a = 2 + (b = 5);&lt;br /&gt;
    a = b = c = 5;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3716</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3716"/>
		<updated>2010-02-14T10:54:03Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda ifi täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
NÄIDE&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine &lt;br /&gt;
&amp;lt;source lang=cpp&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;&lt;br /&gt;
    a = 2 + (b = 5);&lt;br /&gt;
    a = b = c = 5;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3715</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3715"/>
		<updated>2010-02-14T10:53:13Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
if - tingimuslause&lt;br /&gt;
if(&amp;quot;tingimus mille puhul seda ifi täidetakse&amp;quot;){&lt;br /&gt;
&amp;quot;tegevus mis sooritatakse kui tingimus tõele vastab&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
NÄIDE&lt;br /&gt;
int main (){	&lt;br /&gt;
//defineerin boolean i mille väärtus on true&lt;br /&gt;
	bool i =true;&lt;br /&gt;
//if lause mis käivitub siis kui boolean i väärtuseks on true		&lt;br /&gt;
                if (i){&lt;br /&gt;
			cout &amp;lt;&amp;lt; &amp;quot;Hello World!&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
Muutuja väärtustamine =&lt;br /&gt;
&amp;lt;source lang=cpp&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
int main () {&lt;br /&gt;
    int a,b,c;&lt;br /&gt;
    a = 2 + (b = 5);&lt;br /&gt;
    a = b = c = 5;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3713</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3713"/>
		<updated>2010-02-14T10:45:42Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/ Operators]&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3712</id>
		<title>C++ lühikursus</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=C%2B%2B_l%C3%BChikursus&amp;diff=3712"/>
		<updated>2010-02-14T10:44:34Z</updated>

		<summary type="html">&lt;p&gt;Jsarjas: /* Operaatorid ja tehted */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Kursusest=&lt;br /&gt;
&lt;br /&gt;
ITK robootikaklubis kasutatakse pilditöötlusplatvormina enda poolt C++, QT4 ja OpenCV vanenditega loodud raamistiku. Kuna õppekavas C++ puudub:( ja samas on seda vähemalt robootikutel vaja siis siin lehel on kursuse materjalid ja tegevused.&lt;br /&gt;
&lt;br /&gt;
=Harjutustunnid=&lt;br /&gt;
1. [http://www.cplusplus.com/doc/tutorial/program_structure/ Structure of a program] läbi lugeda&lt;br /&gt;
&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Mis on C++ ja miks meil seda vaja on?&lt;br /&gt;
[http://langpop.com/ programmeerimiskeelte populaarsus]&lt;br /&gt;
&lt;br /&gt;
=Keele põhikonstruktsioonid=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Muutujate deklareerimine==&lt;br /&gt;
Deklareerimine/defineerimine&lt;br /&gt;
&lt;br /&gt;
=Operaatorid ja tehted=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/operators/]&lt;br /&gt;
&lt;br /&gt;
=Lingid=&lt;br /&gt;
[http://www.cplusplus.com/doc/tutorial/ C++ tutorial]&lt;br /&gt;
[[Category:Robootika]]&lt;/div&gt;</summary>
		<author><name>Jsarjas</name></author>
	</entry>
</feed>