Retezec krok3 - Zkouška nové třídy
Otevřete nový soubor a zapište mu hlavičku a "inklůdujte" standardní hlavičkové soubory:
//testovací prográmek pro třídu Retezec - TESTIK.CPP
//4.10.1998 Jan Dolinay
#include <stdio.h>
Vložte direktivu include s naším souborem RETEZ.H
#include "retez.h"
Vložte tento kód:
void main()
{
//vytvoření dvou objektů třídy Retezec,První je prázdný,
druhý obsahuje text "toto je další retezec"
Retezec mujretez;
Retezec dalsi("toto je další řetězec");
//vypíšeme obsah řetězců na obrazovku
printf("tento ma byt prazdny:
%s\nn",mujretez.GetText());
printf(dalsi.GetText());
printf("\n");
//změníme obsah řetězce
a vytiskneme
mujretez = "i toto pujde";
printf("%s\n",mujretez.GetText());
//další změna bez
strcpy() !!!
mujretez = "Dalsi zmena v retezci";
printf("¨%s\n",mujretez.GetText());
//a jde to i u druhého
dalsi = "zmena v druhe verzi retezce";
printf("¨%s\n",dalsi.GetText());
}
Program toho moc nedělá, jen
ukazuje jak vytvořit objekty naší třídy a jak používat
jejich zatím omezené schopnosti.
Ale už teď můžete měnit obsah řetězce operátorem =,
přiřarení char text[] = "ahoj"; jde v C i C++
použít pouze jednou, při inicializaci. Pokud byste dále chtěli obsah řetězce
text změnit, museli byste to udělat např. takto:
strcpy(text,"ahoj");
S třídou řetězec už teď můžete přiřazovat kdykoliv. Je
to možné i přesto, že jsme nepřetížili operátor = ,
protože máme konstruktor Retezec::Retezec(char* text); Tento konstruktor je pak
překladačem použit.
V dalším kroku přeložíme zdrojový kód a vyzkoušíme program TESTIK.