Wednesday, January 4, 2017

Template class and function



   Загвар нь 2 төрөлтэй.
  •          Функц ( алгоритмын боловсруулалт)
  •         Класс (обьектын боловсруулалт)
           Загвар функц 
  •    Загвар функц дээр параметрийн төрөл тодорхойлох шаардлагагүй.
  •       Загвар функц нь аргументийн утгыг тодорхойлдог.


Программын биеийг багасгах,кодчилох хэлбэрийг сайжруулахын тулд загвар функц ашигладаг . Бичигдэх хэлбэр:
Template<class T>
Max(T a, T b){
If(a>b) then
Return a;
Else
Return b;}
      Загвар класс
  •          Загвар класс нь аргументийн утгыг       тодорхойлдог.
  •    Зарлалт нь template түлхүүр үгээр эхлэн           параметрийн  жагсаалт,классын нэр болон классын их бие болох зарлалтуудаас бүрдэнэ.
  •    Загвар класс дахь параметр нь  загвар функцийн параметрийн адил тодорхойлогдоно.
  • —  Загвар классын тодорхой  тохиолдлын обьектыг үүсгэхдээ хэрэглэгч нь классын нэр параметрийн жагсаалтын утга болох өгөгдлүүдийг <> хаалтанд тодорхойлж өгнө.
Бичигдэх хэлбэр:
Template<class T,int element>
   Stack<double,100>moon;
 (100 бүхэл тоон элементтэй stack классын  moon гэдэг обьект гэсэн үг)
Зарлагдах байдал:
Найз функцүүд болон классууд нь загвар класс дотор зарлагдаж болно.
If найз функц класс нь загвар байдлаар тодорхойлогддог бол тэдгээрийн бүхий л тохиолдлууд нь зарлагдсан загвар классынхаа найз нь байна.
Жишээ:1
#include<iostream>
#include<string.h>
using namespace std;
template<class t , class u>
t getmin(t  a, u b){
return(a<b) a:b;}
main(){
int i=10;
int j=6;
long l=4500;
i=getmin(j,l);
cout<<i<<endl;}
Жишээ:2
using namespace std;
template<class T >
class Pair{
T value1, value2;
public:
Pair(T first, T second){
value1=first;
value2=second;}
getmax(void);};
template<class T> Pair<T>::getmax(void){
T retval;
retval=value1>value2? value1:value2;
return retval;}
main(){
Pair<int> myob(100,75);
cout<<myob.getmax()<<endl;
Pair<float>myob2(10.5,7.5);
cout<<myob2.getmax()<<endl;
Pair<long>myob3(1000,7500);
cout<<myob3.getmax()<<endl;}
Бие дааж бодох бодлого:
1. Хоёр тооны нийлбэрийг олох загвар функц ашиглан 4-н тооны нийлбэрийг олох программ зохио.
2.5-н сурагчийн мэдээллийг гараас оруулж суралцаж буй ангиар нь өсөхөөр эрэмбэл.
3.ЭММТ ангийн оюутнуудын хэрэглэж буй компьтерийн үзүүлэлтийг ихээс багаруу эрэмбэлэн хэвлэ.(Hard,cpu.ram)



No comments:

Post a Comment