Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
12. stl örnekler
1. KBUZEM
Karabük Üniversitesi
Uzaktan Eğitim Araştırma ve Uygulama Merkezi
Örnek 12.1
#include <conio.h>
using namespace std;
#include <iostream.h>
#include <iostream>
#include <vector>
int main()
{
vector<int> v; //create a vector of ints
v.push_back(10); //put values at end of array
v.push_back(11);
v.push_back(12);
v.push_back(13);
12. HAFTA
NESNEYE DAYALI PROGRAMLAMA
2. BLM301
Mikroişlemciler
2
v[0] = 20; //replace with new values
v[3] = 23;
for(int j=0; j<v.size(); j++) //display vector contents
cout << v[j] <<" " ; //20 11 12 23
cout << endl;
getch();
return 0;
}
#include <conio.h>
using namespace std;
#include <iostream.h>
#include <iostream>
#include <vector>
// demonstrates constructors, swap(), empty(), back(), pop_back()
using namespace std;
int main()
{ //an array of doubles
int arr[] = { 23, 12, 113, 40 };
vector<int> v1(arr, arr+3); //initialize vector to array
vector<int> v2(3); //empty vector of size 4
v1.swap(v2); //swap contents of v1 and v2
while( !v2.empty() ) //until vector is empty,
{
cout << v2.back() << " "; //display the last element
v2.pop_back(); //remove the last element
}
cout << endl;
getch();
return 0;
}
Örnek 12.3
#include <conio.h>
using namespace std;
#include <iostream.h>
#include <iostream>
#include <vector>
int main()
{
int arr[] = { 100, 110, 120, 130 }; //an array of ints
Karabük Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi
Mühendislik Fakültesi No: 215 Balıklarkayası Mevkii 78050 Karabük TÜRKİYE
3. BLM301
Mikroişlemciler
3
vector<int> v(arr, arr+4); //initialize vector to array
cout <<"nBefore insertion:";
for(int j=0; j<v.size(); j++) //display all elements
cout << v[j] <<" ";
v.insert( v.begin()+2, 115); //insert 115 at element 2
cout <<"nAfter insertion:";
for(int j=0; j<v.size(); j++) //display all elements
cout << v[j] <<" ";
v.erase( v.begin()+2 ); //erase element 2
cout << "nAfter erasure:";
for(int j=0; j<v.size(); j++) //display all elements
cout << v[j] << " ";
cout << endl;
getch();
return 0;
}
Örnek 12.4
#include <conio.h>
using namespace std;
#include <iostream.h>
#include <iostream>
//demonstrates push_front(), front(), pop_front()
#include <list>
int main()
{
list<int> ilist;
ilist.push_back(30); //push items on back
ilist.push_back(40);
ilist.push_front(20); //push items on front
ilist.push_front(10);
int size = ilist.size(); //number of items
for(int j=0; j<size; j++)
{
cout << ilist.front() <<" "; //read item from front
ilist.pop_front(); //pop item off front
}
cout << endl;
getch();
Karabük Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi
Mühendislik Fakültesi No: 215 Balıklarkayası Mevkii 78050 Karabük TÜRKİYE
4. BLM301
Mikroişlemciler
4
return 0;}
#include <conio.h>
using namespace std;
#include <iostream.h>
#include <iostream>
//demonstrates push_front(), front(), pop_front()
#include <list>
int main()
{
int j;
list<int> list1, list2;
int arr1[] = { 40, 30, 20, 10 };
int arr2[] = { 15, 20, 25, 30, 35 };
for(j=0; j<4; j++)
list1.push_back( arr1[j] ); //list1: 40, 30, 20, 10
for(j=0; j<5; j++)
list2.push_back( arr2[j] ); //list2: 15, 20, 25, 30, 35
list1.reverse(); //reverse list1: 10 20 30 40
list1.merge(list2); //merge list2 into list1
list1.unique(); //remove duplicate 20 and 30
int size = list1.size();
while( !list1.empty() )
{
cout << list1.front() << " "; //read item from front
list1.pop_front(); //pop item off front
}
cout << endl;
getch();
return 0;
}
Örnek 12.6
#include <conio.h>
using namespace std;
#include <iostream.h>
#include <iostream>
#include <deque>
Karabük Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi
Mühendislik Fakültesi No: 215 Balıklarkayası Mevkii 78050 Karabük TÜRKİYE
5. BLM301
Mikroişlemciler
5
int main()
{
deque<int> deq;
deq.push_back(30); //push items on back
deq.push_back(40);
deq.push_back(50);
deq.push_front(20); //push items on front
deq.push_front(10);
deq[2] = 33; //change middle item
for(int j=0; j<deq.size(); j++)
cout << deq[j] << " "; //display items
getch();
return 0;
}
Örnek 12.7
#include <conio.h>
#include <iostream.h>
#include <iostream>
using namespace std;
#include <vector>
int main ()
{
vector<int> v;
for (int i=1; i<=15; i++)
{
v.push_back(i);
}
cout << "myvector contains:";
vector<int>::iterator it;
for (it = v.begin() ; it != v.end(); ++it)
cout << ' ' << *it;
cout << 'n';
getch();
return 0;
}
Örnek 12.8
#include <conio.h>
#include <iostream.h>
Karabük Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi
Mühendislik Fakültesi No: 215 Balıklarkayası Mevkii 78050 Karabük TÜRKİYE
6. BLM301
Mikroişlemciler
6
#include <iostream>
using namespace std;
#include <vector>
#include <list>
int main()
{
int arr[] = { 2, 4, 6, 8 };
list<int> theList;
for(int k=0; k<4; k++) //fill list with array elements
{ theList.push_back( arr[k] ); }
list<int>::iterator iter; //iterator to list-of-ints
for(iter = theList.begin(); iter != theList.end(); iter++)
{ cout << *iter << " "; } //display the list
cout << endl;
iter = theList.begin();
while( iter != theList.end() )
{cout << *iter++ << " ";}
getch();
return 0;
}
Örnek 12.9
#include <conio.h>
using namespace std;
#include <iostream.h>
#include <iostream>
#include <list>
#include <vector>
int main ()
{
list<int> mylist;
list<int>::iterator it;
// set some initial values:
for (int i=1; i<=5; ++i) mylist.push_back(i); // 1 2 3 4 5
it = mylist.begin();
Karabük Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi
Mühendislik Fakültesi No: 215 Balıklarkayası Mevkii 78050 Karabük TÜRKİYE
7. BLM301
Mikroişlemciler
7
++it;
mylist.insert (it,10); // 1 10 2 3 4 5
for (it=mylist.begin(); it!=mylist.end(); ++it) { cout << ' ' << *it; }
getch();
return 0;
}
struct agac {
int kod;
int mal;
};
struct Acc {
list<agac*>agaclistesi;
list<Acc*>acclist;
};
Acc * acc = new Acc();
Acc * acc1 = new Acc();
Acc * acc2 = new Acc();
int al(Acc* t)
{
t->agaclistesi.pop_back();
cout<<t->agaclistesi.size()<<endl; //4 //6
return 0;
}
int main ()
{
agac * cam = new agac();
agac * kavak = new agac();
cam->kod=2;
cam->mal=5;
kavak->kod=9;
kavak->mal=25;
Karabük Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi
Mühendislik Fakültesi No: 215 Balıklarkayası Mevkii 78050 Karabük TÜRKİYE
9. BLM301
Mikroişlemciler
9
list<Acc*>acclist;
int al(Acc* a)
{
a->acclist.pop_back();
cout<<a->acclist.size()<<endl;
return 0;
}
};
int main ()
{
Acc * acc1 = new Acc();
Acc * acc2 = new Acc();
Acc * acc3 = new Acc();
acc1->id=1;
acc1->hop=1;
acc2->id=2;
acc2->hop=1;
acc3->id=3;
acc3->hop=1;
acc1->acclist.push_back(acc1);
acc1->acclist.push_front(acc2);
acc1->acclist.push_back(acc3);
cout<<acc1->acclist.size()<<endl; //1
acc1->al(acc1);
cout<< (acc1->acclist.front())->id<<endl; //2
getch();
return 0;
Karabük Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi
Mühendislik Fakültesi No: 215 Balıklarkayası Mevkii 78050 Karabük TÜRKİYE
10. BLM301
Mikroişlemciler
10
}
#include <conio.h>
#include <iostream>
#include <list>
using namespace std;
struct Acc {
int id;
int hop;
list<Acc*>acclist;
int al(Acc* a)
{
a->acclist.pop_back();
cout<<a->acclist.size()<<endl;
return 0;
}
};
int main ()
{
Acc * acc1 = new Acc();
Acc * acc2 = new Acc();
Acc * acc3 = new Acc();
acc1->id=1;
acc1->hop=1;
acc2->id=2;
acc2->hop=2;
acc3->id=3;
acc3->hop=3;
acc1->acclist.push_back(acc1);
Karabük Üniversitesi Uzaktan Eğitim Araştırma ve Uygulama Merkezi
Mühendislik Fakültesi No: 215 Balıklarkayası Mevkii 78050 Karabük TÜRKİYE