Objektinis

0.0(0)
Studied by 2 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/68

flashcard set

Earn XP

Description and Tags

Last updated 11:31 AM on 6/11/24
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

69 Terms

1
New cards

Literal constant, variables

Nekintami kintamijei, kuriem verte priskiriama tiesiogiai

int x = 10, const double

2
New cards

const

kvalifikatorius naudojamas nekintamiem kintamiesiems. Verte negali but pakeista po pradinio priskytimo

3
New cards

Rodykles (Pointer)

kintamieji, saugantys kitu kintamuju adresus.

int n = 5, const int* p1 = &n

4
New cards

Nuorodos (References)

Alternatyvus kintamuju vardai, leidziantys manipuliuoti kintamaisiais netiesiogiai

5
New cards

void tipas

funkcija negrazina reiksmes arba rodykle neturi tipo

6
New cards

masyvai

duomenu strukturos saugancios fiksuoto dydzio elementu sekas.

int arr[5] = {1,2,3,4,5}

7
New cards

enumeratoriai

leidzia apibrezti simbolinius vardus sveikom reiksmem

enum Day {monday, tuesday}

day today = monday

8
New cards

typedef

naudojamas sukurti naujus vardus esamiem tipam

9
New cards

globalus kintamieji ir funkcijos

apibreziami uz bet kokios funkcijos ribu, gali but pasiekiami bet kurioje programos vietoje

10
New cards

lokalus kintamieji

apibreziami funkcijos viduje, gali but naudojami tik tose funckijose

11
New cards

dinamine atmintis

valdoma naudojant new ir delete operatorius

int* p = new int

12
New cards

namespace

naudojamas grupuoti vardus kad isvengti konfliktu

namespace MyNamespace{

int x = 10; }

int y = MyNamespace::x;

13
New cards

Funkciju prototipai

nurodo funkciju parasus ir leidzia jas naudoti pries apibrezima

14
New cards

Argumentu perdavimas

i funkcijas pagal verte ar nuoroda

void byValue(int x) { x = 10; }

15
New cards

(Reiksmiu grazinimas)

Funkcijos gali

grazinti reiksmes

int add(int a, int b) {

return a + b; }

16
New cards

Inline funkcijos

mazos funkcijos kuriu kodas iterpiamas tiesiai i skambucio vieta, kad isvengti funkciju iskvietimo kastu

inline int square (int x){

return x * x }

17
New cards

Funkciju perkrovimas

leidzia apibrezti kelias funkcijas tuo paciu vardu, skirtingais parametrais

18
New cards

Funkciju parametrai gali -

tureti numatytas reiksmes

void log(const std::String& message, int level = 1);

19
New cards

Rodykles i funkcijas

leidzia laikyti funkciju adresus ir kviesti funkcijas per rodykles

void (&funcPtr)(int);

funcPtr = myFunction;

20
New cards

Sablonines funkcijos

leidzia kurti bendro pobudzio funkcijas, veikiancias su skirtingais tipais

template<typename T>

T add(T a, T b){

return a + b; }

21
New cards

Duomenu strukturos

padeda organizuoti ir valdyti duomenis

22
New cards

Priesprocesoriaus direktyvos

apdorojamos pries kompiliacija, gali apibrezti makrokomandas, itraukti antrastinius failus, atlikti salygini kompiliavima

23
New cards

Objektas

pagrindinis objektinio programavimo vienetas, turintis busena (duomenys) ir elgesi (metodus)

24
New cards

Klase

objekto sablonas, apibreziantis duomenu struktura ir metodus, kuriuos galima taikyti

25
New cards

Kintamuju paslepimas

objekto vidiniai duomenys paslepti nuo isorinio pasaulio, prieinami tik per viesus metodus

26
New cards

Klases duomenu ir metodu prieigos zonos

public : prieinami visur

protected: prieinami klaseje ir paveldetojuose

private: prieinami tik klaseje

27
New cards

Klases konstruktorius

specialus metodas, kvieciamas kuriant objekto egezmplioriu. Gali but perkrautas. Inicializuoja objekto kintamuosius.

28
New cards

Kopijos konstruktorius

naudojamas sukurti nauja objekta, kuris yra egzistuojancio objekto kopija.

public:

Rectangle(const Rectangle &rect);

29
New cards

Klases destruktorius

specialus metodas, kvieciamas objekto sunaikinimo metu, kad atlaisvintu isteklius

public: ~ Rectangle();

Rectangle::~Rectangle(){

}

30
New cards

Statiniai kintamieji

bendri kintamieji visiems klases egzemplioriams

static int count;

31
New cards

Statiniai metodai

gali buti kvieciami be objekto sukurimo

static void setCount(int c) {count = c; }

32
New cards

const klasese ir objektuose

gali buti naudojamas kad nurodytu ar kintamasis/metodas nekeis objekto busenos

int getValue() const {return value; }

33
New cards

Objektu masyvai

leidzia laikyti kelis tos pacios klases egzempliorius

Rectangle rects[10];

vector<Rectangle> rectVector;

34
New cards

Objektu perdavimas i funkcijas

gali buti perduodami i funkcijas ir grazinami pagal ju verte/nuoroda

Rectangle rect;

return rect;

35
New cards

Draugiskos funkcijos

turi prieiga prie klases privaciu ir apsaugotu nariu

class Rectangle {

friend void print(Rectangle &rect} }

36
New cards

Rodykliu i operatoriu naudojimas

leidzia dinamiskai valdyti objektus ir naudoti ju adresus

Rectangle *rectPtr = new Rectangle(5,5);

37
New cards

Rodykle this

nurodo i klases egzemplioriu ir gali buti naudojama norint pasiekti klases narius

this→ width = width;

this→ height = height;

38
New cards

Nuorodos i objektus

leidzia perduoti objektus i funkcijas be kopijavimo

void printArea(Rectangle &rect){

cout Ā« rect.area() Ā« endl;

39
New cards

Klasiu sablonai

leidzia kurti bendro pobudzio klases, kurios gali veikti su skirtingais duomenu tipais

template <typename T>

class Box{

T value }

40
New cards

Unariniu operaciju perkrovimas

leidzia apibrezti, kaip operatoriai (+, -, ++, —) veikia vartotojo objektuose. Dirba su vienu argumentu.

void operator++() { ++count; }

41
New cards

Binariniu operaciju perkrovimas

leidzia apibrezti kaip operatoriai (+, -, / ) veikia vartotojo objektuose. Dirba su dviem argumentais.

Complex operator+(const Complex &c)

42
New cards

Draugisku klasei funkciju naudojimas operatoriuose

Globalus operatoriai gali but apibrezti kaip draugiskos funkcijos, kad galetu prieiti prie privaciu ir apsaugotu klases nariu

friendĀ ComplexĀ operator+(constĀ Complex &,Ā constĀ Complex &);

43
New cards

static_cast

naudojamas saugiai konvertuoti viena tipa i kita

float f = 3.14

int a = static_cast<int>(f)

44
New cards

Paveldimumas

leidzia kurti naujas klases, pagristas esamomis klasemis, perimant ju savybes ir metodus

45
New cards

Paveldimi konstruktoriai

leidzia paveldetom klasem naudoti bazines klases konstruktorius

46
New cards

Paveldimi destruktoriai

paveldimose klasese automatiskai kvieciami, kai objektas sunaikinamas

47
New cards

Paveldetu klasiu perkrovimas

gali perrasyti bazines klases metodus, kad pateiktu specifini funkcionaluma

48
New cards

Baziniu klasiu rodykles

gali rodyti i paveldetos klases objektus

base *b;

Derived d;

b = &d;

b→display();

49
New cards

Daugybinis paveldimumas

c++ leidzia paveldeti is daugiau nei vienos bazines klases

class C : public A, public B

50
New cards

protected duomenu ir metodu prieigos zona

nariai, prieinami paveldetose klasese, bet ne is isores

51
New cards

Polimorfizmas

leidzia naudoti ta pati sasajos tipa skirtingiems objektas. Pasiekiama per paveldejima ir virtualius metodus.

52
New cards

Virtualus destruktorius

uztikrina kad teisingi destruktoriai butu iskveisti, kai objektai sunaikinami per bazines klases rodykle

53
New cards

Abstrakcios klases

turi bent viena virtualu metoda ir negali buti instancijuojamos tiesiogiai. Naudojamos kaip bazes konkreciom klasem.

54
New cards

Sasajos klases

apibrezia tik grynai virtualius metodus, kuriuos turi igyvendinti konkrecios klases.

virtual void method1() = 0;

void method1() override

55
New cards

Baziniu klasiu rodykles polimorfiniu budu

gali pasiekti paveldetas klases ir kviesti virtualius metodus

shapes[i] → draw();

56
New cards

Standartine biblioteka STL (Standard Template Library)

teikia konteineriu tipus, kurie leidzia efektyviai saugoti ir valdyti duomenys. Dazniausi konteineriai - vector, set, map, queue, deque

57
New cards

Vektoriai

dinamisko dydzio masyvai, leidziantys greitai pasiekti elementus per indeksus, efektyviai prideti/pasalinti elementus is galo

a.push_back(6);

apop_back();

58
New cards

Sarasai (list)

dvipusio rysio, leidzia efektyviai prideti/pasalinti elementus bet kurioje pozicijoje

a.push_back(6)

a.push_front(0)

59
New cards

Desiniosios eiles (deque)

leidzia greitai prideti/pasalinti elementus is abieju galu

a.push_back(6)

a.push_front(0)

60
New cards

Rinkiniai (set)

unikaliu elementu kolekcijos, kurios tvarko elementus tam tikra tvarka

a.insert(6)

a.erase(3)

61
New cards

Zemelapiai (map)

raktu ir reiksmiu poru kolekcijos, leidziancios greitai paisekti reiksmes pagal raktus

a[1] = ā€œoneā€

a[2] = ā€œtwoā€

string value = a[1]

62
New cards

Iteratoriai

leidzia pereiti per konteineriu elementus nenaudojant indeksu

for( vector<int>iterator it = vec.begin(); it ! = vec.end(); ++ it)

63
New cards

Transformavimas (transform)

vector<int> = {1,2,3,4,5};

vector<int> result (vec.size());

transform(vec.begin(), vec.end(), result.begin(), [](int x) {return x * x; } );

64
New cards

Lambda israiskos

leidzia kurti anonimiskas funkcijas vietoje.

autoĀ add = [](intĀ a,Ā intĀ b) ->Ā intĀ {Ā returnĀ a + b; }; std::cout <<Ā add(3,Ā 4) << std::endl;

65
New cards

Isimtys

leidzia tvarkyti klaidas ir uztikrina kad programa nepasibaigtu avariskai

throw, try, catch

66
New cards

Postinkrementas

a++, pirmiausia naudojama reiskme, tada ji padidinama

67
New cards

Preinkrementas

++a, pirmiausia reiksme padidinama tada naudojama

68
New cards

Konstruktoriaus savybes

negrazina jokios reiksmes

nenurodomas kaip funkcijos tipas

nepaveldimas

negali buti apibreztas modifikatoriu (const, virtual, static)

jei neapibreztas, kuriant objekta, vykdomas pagal nutylejima

69
New cards

Destruktoriaus savybes

pavadinimas ~klases_pavadinimas

negrazina jokios reiksmes

neturi argumentu saraso

nepaveldimas

negali buti apibreztas modifikatoriu (const,virtual,static)