|
Funksiyalarni yaratish va ulardan foydalanish. Reja
|
bet | 2/7 | Sana | 18.01.2024 | Hajmi | 124,09 Kb. | | #140451 |
Bog'liq Funksiyalarni yaratish va ulardan foydalanish
#include using namespace std;
// Funksiya shabloni e’lon qilinishi...
template
void swapargs(X &a, X &b)
{
X temp; temp = a; a = b;
Funksiya shabloniga misol
b = temp;
}
int main()
{
int i=10, j=20;
double x=10.1, y=23.3; char a='x', b='z';
cout << "Original i, j: " << i << ' ' << j << '\n'; cout << "Original x, y: " << x << ' ' << y << '\n'; cout << "Original a, b: " << a << ' ' << b << '\n';
swapargs(i, j); // swap funksiyasi butun toifa uchun (int) swapargs(x, y); // swap funksiyasi haqiqiy toifa uchun (float) swapargs(a, b); // swap funksiyasi simvol toifa uchun (char) cout << "Swapped i, j: " << i << ' ' << j << '\n';
cout << "Swapped x, y: " << x << ' ' << y << '\n'; cout << "Swapped a, b: " << a << ' ' << b << '\n';
return 0;
}
Umumiy funksiyaning boshqacha ko’rinishi
Quyidagi misolda swapargs( ) funksiyasi boshqacharoq ko’rinishda e’lon qilingan. Ya’ni shablon birinchi satrda funksiya esa alohida satrda joylashgan.
template
void swapargs(X &a, X &b)
{
X temp; temp = a; a = b;
b = temp;
}
Lekin bu ko’rinishda birinchi va ikkinchi satr o’rniga bironta kod yozilsa xatolik beradi
template int c // ERROR
void swapargs(X &a, X &b)
{
X temp; temp = a;
a = b;
b = temp;
}
template
void swapargs(X &a, X &b)
{
X temp; temp = a; a = b;
b = temp;
cout << "swapargs funksiya shabloni chaqirildi.\n";
}
// Bunda swapargs() funksiyasi faqatgina int tipi uchun ishlaydi.
void swapargs(int &a, int &b)
{
int temp; temp = a; a = b;
b = temp;
cout << " int tipi uchun maxsus swapargs funksiyasi.\n";
}
int main()
{
int i=10, j=20;
double x=10.1, y=23.3; char a='x', b='z';
cout << "Original i, j: " << i << ' ' << j << '\n'; cout << "Original x, y: " << x << ' ' << y << '\n'; cout << "Original a, b: " << a << ' ' << b << '\n';
swapargs(i, j); // calls explicitly overloaded swapargs()
swapargs(x, y); // calls generic swapargs() swapargs(a, b); // calls generic swapargs() cout << "Swapped i, j: " << i << ' ' << j << '\n';
cout << "Swapped x, y: " << x << ' ' << y << '\n'; cout << "Swapped a, b: " << a << ' ' << b << '\n'; return 0;
}
Funksiya shablonini override (qayta yozish) qilish.
Dastur natijasi:
|
| |