Compare commits

...

5 Commits

Author SHA1 Message Date
5dfbb423d3 ex00: vrai fix 2023-10-05 11:02:49 +00:00
65428a0883 ex02: opti 2023-10-05 10:51:12 +00:00
4e239c6091 fix: de golmon 2023-10-05 10:49:35 +00:00
e5bcc44b2e ex02: fix bozo bug 2023-10-04 15:27:58 +00:00
cc70b96d30 ex02: add test 2023-10-04 15:27:25 +00:00
3 changed files with 33 additions and 7 deletions

View File

@ -1,7 +1,7 @@
#pragma once #pragma once
template <typename T> template <typename T>
void swap(T a, T b) void swap(T& a, T& b)
{ {
T tmp = a; T tmp = a;
a = b; a = b;
@ -9,13 +9,13 @@ void swap(T a, T b)
} }
template <typename T> template <typename T>
T min(T a, T b) T min(const T& a, const T& b)
{ {
return a > b ? b : a; return a > b ? b : a;
} }
template <typename T> template <typename T>
T max(T a, T b) T max(const T& a, const T& b)
{ {
return a > b ? a : b; return a > b ? a : b;
} }

View File

@ -24,7 +24,7 @@ class Array
Array(const Array& src) Array(const Array& src)
{ {
new T[0]; this->_arr = NULL;
*this = src; *this = src;
}; };
@ -39,9 +39,10 @@ class Array
return *this; return *this;
delete[] this->_arr; delete[] this->_arr;
this->_size = src._size; this->_size = src._size;
new T[src._size]; this->_arr = new T[src._size];
for (size_t i = 0; i < src._size; i++) for (size_t i = 0; i < src._size; i++)
this->_arr[i] = src._arr[i]; this->_arr[i] = src._arr[i];
return *this;
}; };
T& operator[](unsigned int index) const T& operator[](unsigned int index) const

View File

@ -24,14 +24,39 @@ int main()
} }
} }
std::cout << "Fill and get"; std::cout << "Fill and get" << std::endl;
{ {
unsigned int size = 10; unsigned int size = 10;
Array<int> t(size); Array<int> t(size);
for (unsigned int i = 0; i != size; i++) for (unsigned int i = 0; i != size; i++)
t[i] = i; t[i] = i;
for (unsigned int i = 0; i != size; i++) for (unsigned int i = 0; i != size; i++)
std::cout << i << std::endl; std::cout << t[i] << std::endl;
}
std::cout << std::endl;
std::cout << "Copy and get" << std::endl;
{
unsigned int size = 10;
Array<int> t(size);
for (unsigned int i = 0; i != size; i++)
t[i] = i;
Array<int> b(t);
for (unsigned int i = 0; i != size; i++)
std::cout << b[i] << std::endl;
}
std::cout << std::endl;
std::cout << "operator = and get" << std::endl;
{
unsigned int size = 10;
Array<int> t(size);
for (unsigned int i = 0; i != size; i++)
t[i] = i;
Array<int> b;
b = t;
for (unsigned int i = 0; i != size; i++)
std::cout << b[i] << std::endl;
} }
std::cout << std::endl; std::cout << std::endl;
} }