ПредишенСледващото

Създаване на клас шаблони.

Точно както абстрактни функции се базира на функционални шаблони, абстрактни класове са създадени на базата на класа шаблони. Шаблонът клас описва клас, който, от своя страна, описва обекта. Когато създавате клас шаблон, компилаторът гласи шаблона и дефинира клас W ATEM ви примери на обект от този клас. Както можете да видите, класове шаблони определят друго ниво на абстракция в концепцията за класове.

Обява 4. Определяне на класа шаблон

шаблон

Когато създавате шаблон обект инстанция на класа трябва да укажете типовете данни, които ще бъдат заменени с параметрите на шаблона. Например, следното твърдение може да се използва за създаване на програма за обект на MyClass клас:

CMyClass MyClass (15);

Тази линия се създава обект CMyClass клас. който, вместо абстрактен тип данни използва число. Ако имате нужда от един клас да се работи с реални числа, обект на този клас може да се създаде, както следва:

CMyClass MyClass (15.75);

Помислете за един по-сложен пример. Да предположим, че искате да създадете един клас, който осигурява съхранението на двете стойности и съдържаща член функция за сравнение на тези стойности. Обява 5 показва тези FTC др ogrammy, който осъществява подобен клас. На първо място, програмата се определя от шаблона на класа, наречен CCompare. В този клас се съхраняват две стойности, които са достъпни Funk конструктор се нарича. Класът включва и конвенционален конструктор и деструктор, както и член-функции, за да се определи по-малка или по-голяма стойност от тях или проверка за равенство.

Обява 5 - използва шаблон клас

# включват

шаблон

CCompare (Тип arg1, Тип arg2)

CCompare compare1 (15, 25);

CCompare compare2 (254.78, 12,983);

CCompare compare3 ( "А", "Z");

Cout <<"THE COMPARE1 OBJECT" <

Cout <<"Lowest: " <

Cout <<"Highest: " <

Cout <<"Equal: " <

Cout <<"THE COMPARE2 OBJECT" <

Cout <<"Lowest: " <

Cout <<"Highest: " <

Cout <<"Equal: " <

Cout <<"THE COMPARE2 OBJECT" <

Cout <<"Lowest: " <

Cout <<"Highest: " <

Cout <<"Equal: " <

Основната програма създава клас-шаблон три различни предмети, един от които функционира на числа, а другият използва реалните числа, а третият магазини и сравнява променливите от тип характер. Създаване на три обекта CCompare клас. Основната функция () призовава държавите-функцията на тези обекти, за да се покаже информация за данните, съхранявани във всеки един от трите обекта.

Шаблонът на клас като функция на шаблона, можете да зададете произволен брой параметри. Обява 6 показва текстов шаблон клас, който използва два различни типа данни.

шаблон

CMyClass (Type1 ARG1, Type2 ARG2)

За да се създаде например от клас MyClass обект може да се използва, например, следният ред:

CMyClass MyClass (15, "А");

Накрая, трябва да се каже, че като параметър клас шаблон, заедно с видовете място притежателите могат да използват и специфични видове данни. Той е само да поставите в списъка на параметрите на конкретен тип данни на едно ниво с други параметри. Обява 7 показва текста на една малка програма, в която се създава инстанция на обекта въз основа на използване на две абстрактен тип данни и един определен клас шаблон.

Обява 7. Използване на конкретни типове данни като параметри в един клас шаблон

#include

шаблон

Свързани статии

Подкрепете проекта - споделете линка, благодаря!