Intshayelelo kulwimi lwe-C++: Isikhokelo esigqibeleleyo

Uhlaziyo lokugqibela: NgoNovemba 1 ukusuka kwi2024
Intshayelelo yolwimi lwe-C++

I-C++ yenye yezona lwimi zinefuthe kwaye zisetyenziswa ngokubanzi kwihlabathi lophuhliso lwesoftware. Ukusukela ekusekweni kwayo ukuza kuthi ga namhlanje, iye yavela yasisixhobo esinamandla nesiguquguqukayo esivumela abadwelisi benkqubo ukuba benze usetyenziso olusebenzayo noluphezulu. Kweli nqaku siza kukhenketha kwiNtshayelelo yolwimi lweC ++ ngendlela eqinileyo.

Intshayelelo yolwimi lwe-C++

Yintoni i-C++?

I-C ++ lulwimi lwenkqubo lwenjongo jikelele oludibanisa umgangatho ophantsi kunye nomgangatho ophezulu wokucwangcisa iimpawu. Yayilwa njengokwandiswa kwe ulwimi C, ukongeza iifitsha ezintsha ezifana nenkqubo ejolise kwinto. Ukuguquguquka kwayo kuyenza ilungele ukuphuhlisa yonke into ukusuka kwiinkqubo zokusebenza ukuya kwimidlalo yevidiyo.

Imbali kunye nokuzivelela kwezinto

Imbali yeC ++ ibuyele kwi-1979, xa uBjarne Stroustrup waqala ukusebenza kwinto awayeyibiza ngokuthi "C kunye neeklasi". Injongo yabo yayikukuphucula uC ngokongeza Iimpawu zezinye iilwimi, njengoSimula. Ngomnyaka we-1983, ulwimi lwabizwa ngokuba yi-C ++, kwaye ukususela ngoko luye lwadlula uhlaziyo oluninzi kunye nemigangatho, kunye ne-C ++ 20 ibe yinguqulelo yamva nje ngexesha lokubhala.

C++ Iziseko

Ukuqala inkqubo kwi-C++, kubalulekile ukuqonda iikhonsepthi zayo ezisisiseko. Makhe sijonge izinto ezibalulekileyo ezenza isiseko solu lwimi.

Is syntax esisiseko

I-syntax ye-C ++ iyafana ne-C, kodwa kunye nezongezo ezibalulekileyo. Inkqubo eqhelekileyo yeC ++ iqala ngokubandakanywa kwamathala eencwadi ayimfuneko, ilandelwa ngumsebenzi main(), eliyindawo yokungena yodweliso lwenkqubo. Umzekelo:

#include <iostream>

int main() {
    std::cout << "¡Hola, mundo!" << std::endl;
    return 0;
}

Le nkqubo ilula ibonisa iklasikhi "Molo, hlabathi!" kwiscreen.

Iintlobo zedatha kunye neenguqu

I-C++ inikeza uluhlu olubanzi lweentlobo zedatha, kuquka:

  • Inani elipheleleyo (int)
  • Amanani amanqaku adadayo (float, double)
  • Abalinganiswa (char)
  • I-Booleans (bool)
  • Iimpawu
  • Izikhombisi

Izinto eziguquguqukayo zibhengezwa ngokuchaza uhlobo lwedatha olulandelwa ligama eliguquguqukayo. Umzekelo:

int edad = 25;
float altura = 1.75;
char inicial = 'A';
bool esEstudiante = true;

Izakhiwo zokulawula

Izakhiwo zokulawula zibalulekile kulo naluphi na ulwimi lweprogram, kwaye i-C++ ayinjalo. Oku kusivumela ukuba silawule ukwenzeka kweenkqubo zethu.

Imiqathango

Izakhiwo ezinemiqathango zivumela ukuba senze iibhloko ezahlukeneyo zekhowudi ngokuxhomekeke kwiimeko ezithile. Ezona zixhaphakileyo zi if,

else if y else. Umzekelo:

int edad = 18;

if (edad >= 18) {
    std::cout << "Eres mayor de edad" << std::endl;
} else {
    std::cout << "Eres menor de edad" << std::endl;
}

IiLuphu

Iiluphu zisivumela ukuba siphinde ibhloko yekhowudi amaxesha amaninzi. I-C++ ibonelela ngeentlobo ezininzi zeelophu:

  1. kuba: Kufanelekile xa silazi inani elichanekileyo lokuphindaphinda.
  2. lo gama: Iphumeza okoko nje imeko iyinyani.
  3. yenza-ngelixa: Iyafana nexesha, kodwa iqinisekisa ubuncinci uphumezo olunye.

Umzekelo we-loop:

for (int i = 0; i < 5; i++) {
    std::cout << i << " ";
}
// Salida: 0 1 2 3 4

Imisebenzi kwi-C++

Imisebenzi ziibhloko eziphinda zisetyenziswe ikhowudi eyenza imisebenzi ethile. Zibalulekile ukulungelelanisa kunye nokumisa iinkqubo zethu.

Isibhengezo kunye nenkcazo

Kwi-C++, sidla ngokubhengeza imisebenzi kwiifayile zeheader (.h) kwaye sizichaze kwiifayile zokuphunyezwa (.cpp). Ukubhengezwa komsebenzi kubandakanya igama lawo, uhlobo lokubuyisela, kunye neeparamitha, ngelixa inkcazo ikwabandakanya umzimba womsebenzi.

// Declaración (en archivo .h)
int sumar(int a, int b);

// Definición (en archivo .cpp)
int sumar(int a, int b) {
    return a + b;
}

Ukupasa iiparamitha

C ++ ikuvumela ukuba ugqithise iiparamitha kwimisebenzi ngeendlela ezahlukeneyo:

  1. Ngexabiso: Ikopi yengxabano yenziwe.
  2. Ukwenzela ireferensi: Idilesi yememori yengxabano idlulisiwe.
  3. Ngesalathisi: Iyafana nereferensi, kodwa ibhetyebhetye ngakumbi.
  Yeyiphi imisebenzi yeWebmaster?

Umzekelo wokudlula kwireferensi:

void incrementar(int &numero) {
    numero++;
}

int main() {
    int x = 5;
    incrementar(x);
    std::cout << x; // Salida: 6
    return 0;
}

Inkqubo ejolise kwinto

Enye yezona zinto zinamandla zeC ++ yinkxaso yayo yenkqubo ejolise kwizinto (OOP). Le paradigm ivumela ukuba silungelelanise ikhowudi yethu kwizakhiwo ezibizwa ngokuba ziiklasi, eziquka idatha ehambelanayo kunye nokuziphatha.

Iiklasi kunye nezinto

Iklasi yitemplate yokwenza izinto. Ichaza iipropati (iimpawu) kunye nokuziphatha (iindlela) eziya kuba nazo izinto zolo didi. Umzekelo:

class Persona {
private:
    std::string nombre;
    int edad;

public:
    Persona(std::string n, int e) : nombre(n), edad(e) {}

    void saludar() {
        std::cout << "Hola, soy " << nombre << " y tengo " << edad << " años." << std::endl;
    }
};

int main() {
    Persona p1("Ana", 25);
    p1.saludar(); // Salida: Hola, soy Ana y tengo 25 años.
    return 0;
}

Ilifa kunye ne-polymorphism

Ilifa likuvumela ukuba wenze iiklasi ezintsha ngokusekelwe kwiiklasi ezikhoyo, uzuze iimpawu kunye neendlela zabo. I-Polymorphism, kwelinye icala, ivumela ukuba sisebenzise ujongano oluqhelekileyo kwiintlobo ezahlukeneyo zedatha.

class Estudiante : public Persona {
private:
    std::string carrera;

public:
    Estudiante(std::string n, int e, std::string c) : Persona(n, e), carrera(c) {}

    void estudiar() {
        std::cout << "Estoy estudiando " << carrera << std::endl;
    }
};

Ulawulo lweenkumbulo

I-C ++ inikezela ngolawulo olucokisekileyo kulawulo lwememori, oluvumela iinkqubo ezisebenza kakhulu kodwa zifuna ukhathalelo olungakumbi kwicala lomdwelisi.

Izikhombisi

Izalathisi ziziguquguquko ezigcina iidilesi zememori. Zisisixhobo esinamandla kodwa zikwangumthombo oqhelekileyo weempazamo ukuba azisetyenziswanga ngokuchanekileyo.

int x = 5;
int *ptr = &x;
std::cout << *ptr; // Salida: 5

Ulwabiwo lwamandla

I-C++ ivumela inkumbulo ukuba yabiwe ngokuguquguqukayo ngexesha lokwenziwa kwenkqubo. Oku kuluncedo xa singazi kwangaphambili ukuba ingakanani imemori esiya kuyidinga.

int *arr = new int[10]; // Asigna un array de 10 enteros
// ... usar el array ...
delete[] arr; // Liberar la memoria cuando ya no se necesita

Amathala eencwadi asemgangathweni

I-C++ iza nelayibrari esemgangathweni etyebileyo ebonelela ngemisebenzi emininzi eluncedo.

nditsho

Eli thala leencwadi libonelela ngokusebenza kwe igalelo kunye nemveliso yedatha. Izinto cin y cout ziluncedo kakhulu:

#include <iostream>

int main() {
    int numero;
    std::cout << "Introduce un número: ";
    std::cin >> numero;
    std::cout << "Has introducido: " << numero << std::endl;
    return 0;
}

i-vector kunye nomtya

vector luphumezo oluguquguqukayo uluhlu, ngelixa string yiklasi yokuphatha imitya yokubhaliweyo ngokulula ngakumbi kunoluhlu lwamagama abaqhelekileyo.

#include <vector>
#include <string>

std::vector<int> numeros = {1, 2, 3, 4, 5};
std::string saludo = "Hola, mundo!";

Ukuphathwa ngaphandle

Ukuphatha ngaphandle bubuchule bokuphatha iimpazamo kunye neemeko ezingalindelekanga kwiinkqubo zethu.

Zama, bamba kwaye uphose

Sisebenzisa try ukusonga ikhowudi enokuthi ikhuphe ngaphandle, catch ukubamba nokuphatha ngaphandle, kunye throw ukuphosa ngaphandle.

#include <stdexcept>

try {
    int resultado = dividir(10, 0);
} catch (const std::runtime_error& e) {
    std::cerr << "Error: " << e.what() << std::endl;
}

Izikhokelo

Iitemplates ziluphawu olunamandla lwe-C++ olukuvumela ukuba ubhale ikhowudi yegeneric leyo isebenza ngeentlobo ezahlukeneyo yedatha.

Template Functions

Umsebenzi wetemplate unokusebenza neendidi ezininzi zedatha:

template <typename T>
T maximo(T a, T b) {
    return (a > b) ? a : b;
}

int main() {
    std::cout << maximo(3, 7) << std::endl;     // Salida: 7
    std::cout << maximo(3.14, 2.72) << std::endl; // Salida: 3.14
    return 0;
}

Iiklasi zetemplate

Ngokufana nemisebenzi yetemplate, sinokwenza iiklasi ezisebenza ngeentlobo zegeneric:

template <typename T>
class Contenedor {
private:
    T elemento;
public:
    void setElemento(T e) { elemento = e; }
    T getElemento() { return elemento; }
};

Iinkqubo ezilungileyo zokucwangcisa

Ukwamkela iinkqubo ezilungileyo zokucwangcisa kubalulekile ekubhaleni umgangatho wekhowudi ye-C ++.

  IKhowudi yeSitudiyo esibonakalayo: Yonke into ekufuneka uyazi malunga noyena mhleli uguquguqukayo

Isimbo sekhowudi

Ukugcina isimbo sekhowudi engaguqukiyo kuphucula ukufundeka kwekhowudi. Ezinye iingcebiso:

  • Sebenzisa amagama achazayo kwiinguqu kunye nemisebenzi.
  • Gcina i-indent engaguqukiyo.
  • Ikhowudi yokuphawula xa kuyimfuneko.

Ukulungiswa

I-C++ ivumela umgangatho ophezulu wokuphucula. Ezinye iindlela zobugcisa ziquka:

  • Sebenzisa iimbekiselo endaweni yeekopi xa kunokwenzeka.
  • Kuphephe ukwenza izinto zexeshana ngokungeyomfuneko.
  • Sebenzisa izakhiwo zedatha ezifanelekileyo kumsebenzi ngamnye.

Izixhobo zophuhliso

Ukucwangcisa ngokufanelekileyo kwiC ++, kubalulekile ukuba nezixhobo ezifanelekileyo.

Abaxumi

Abaqulunqi abadumileyo beC++ baquka:

  • GCC (GNU Compiler Collection)
  • qhwaba
  • IMicrosoft Visual C ++

Ii-IDE ezidumileyo

Ezinye iindawo ezidumileyo zophuhliso ezidityanisiweyo (ii-IDE) ze-C++ zezi:

  • IziXhobo zeStudiyo zokuBonakalayo zeeAplikheyishini
  • IClion
  • Ikhowudi :: Iibhloko
  • Eclipse nge-CDT plugin

Izicelo ezisebenzayo

I-C ++ isetyenziswe kwiinkalo ezininzi ezahlukeneyo ngenxa yokusebenza kwayo kunye nokuguquguquka.

Uphuhliso lwesoftware

I-C++ isetyenziswa ngokubanzi kuphuhliso lwe:

  • Iinkqubo zokusebenza
  • Izikhangeli zewebhu
  • Yolwazi
  • isoftware yeofisi

Videogames

Iinjini ezininzi zomdlalo osebenza kakhulu kunye nemidlalo ibhalwe kwiC ++, kubandakanya:

  • Unreal Engine
  • I-CryEngine
  • Imidlalo efana neHlabathi yeWarcraft kunye ne-Counter-Strike

Izixhobo zokufunda iC++

Ukuqhubeka nokufunda kunye nokuphucula izakhono zakho ze-C ++, nazi ezinye izixhobo ezicetyiswayo.

Iincwadi ezikhuthaziweyo

  1. "C ++ Primer" nguStanley Lippman, uJosée Lajoie, kunye noBarbara E. Moo
  2. "Esebenzayo C ++" nguScott Meyers
  3. «I-C++ Programming Language» nguBjarne Stroustrup

izifundo ze-intanethi

  1. C++ kubaProgram kwi-Udacity
  2. Isifundo se-C ++ sabaQalayo abaGqibeleleyo kwi-Udemy
  3. Ikhosi yeC++ yokuCwangcisa kwi-edX

Imibuzo Ebuzwa Rhoqo malunga nentshayelelo yoLwimi lwe-C++

1. Ngaba kunzima ukufunda i-C++?

I-C++ inokuba ngumngeni ekuqaleni, ngakumbi ukuba lulwimi lwakho lokuqala lokuprograma. Nangona kunjalo, ngokuqhelisela kunye nokuzinikela, kunokwenzeka ukuba uphumelele. Qala ngeziseko kwaye ngokuthe ngcembe uqhubele phambili kwizihloko ezinzima ngakumbi.

2. Yintoni umahluko phakathi kwe-C kunye ne-C++?

I-C++ lulwandiso lwe-C olongeza iimpawu ezifana neprogram ejoliswe kwinto, ukuphatha ngaphandle, kunye neetemplates. Ngelixa uC elulwimi lwenkqubo, i-C++ i-multi-paradigm.

3. Zeziphi iindidi zeeprojekthi ezilungele i-C++?

I-C ++ ilungele iiprojekthi ezifuna ukusebenza okuphezulu kunye nolawulo olucokisekileyo kwimithombo yenkqubo. Isetyenziswa ngokubanzi kuphuhliso lwenkqubo, imidlalo yevidiyo, izicelo zedesktop kunye nesoftware edibeneyo.

4. Ndingayiphucula njani ikhowudi yam ye-C++?

Ukuphucula ikhowudi yakho ye-C ++, ziqhelanise rhoqo, funda ikhowudi yabanye abadwelisi, inxaxheba kwiiprojekthi zomthombo ovulekileyo, kwaye uhlale usexesheni ngeempawu zolwimi olutsha. Kukwaluncedo ukuziqhelanisa neepateni zoyilo kunye nobuchule bokwenza ngcono.

5. Zeziphi iingenelo C++ inazo ngaphezu kwezinye iilwimi zokuprograma?

I-C ++ inikezela ngolungelelwano oluhle kakhulu phakathi kokusebenza kakuhle kunye nokuthatha. Ivumela ulawulo olukumgangatho ophantsi kwimithombo yenkqubo, ngelixa ibonelela ngezithintelo ezinamandla eziphezulu. Ukongeza, ukwamkelwa kwayo ngokubanzi kuthetha ukuba kukho ubutyebi bamathala eencwadi kunye nezixhobo ezikhoyo.

6. Loluphi uphuhliso lwamva nje kwi-C++?

Iinguqulelo zamva nje ze-C ++ (C ++ 17, C ++20) ziye zazisa iimpawu ezintsha ezifana neemodyuli, iikhonsepthi, uluhlu, kunye ne-coroutines. Olu phuculo lwenza ulwimi lucace ngakumbi kwaye lube lula ukulusebenzisa, lo gama lugcina ukusebenza kakuhle kweempawu zalo.

  Iilwimi ezi-5 ezifunwa kakhulu kwiprogramu

Ukuqukunjelwa kwentshayelelo yolwimi lwe-C++

La Intshayelelo kulwimi lwe-C++ esithe sayiphonononga kweli nqaku ayikrwempanga umphezulu wento enokunikelwa lolu lwimi lunamandla. Ukusuka kwiziseko zayo ukuya kwezona mpawu ziphambili, iC ++ ihlala isisixhobo esiyimfuneko kwihlabathi lophuhliso lwesoftware.

Kulo lonke uhambo lwethu, siye sabona indlela i-C ++ edibanisa ngayo ukusebenza kweprogram ephantsi kunye nezithintelo eziphezulu, ezivumela abaphuhlisi ukuba benze yonke into ukusuka kwiinkqubo zokusebenza ukuya kwimidlalo yevidiyo enzima. I-syntax esisiseko, izakhiwo zolawulo, kunye neekhonsepthi zokucwangcisa ezijolise kwinto zenza isiseko ekwakhiwe phezu kwaso esomeleleyo, izicelo ezisebenza ngokuphezulu.

Siphinde saphonononga izinto eziphambili ezinje ngolawulo lwememori, ukusetyenziswa kwetemplate, kunye nokuphatha ngaphandle, okunika i-C ++ ukuguquguquka okukodwa kunye namandla. Amathala eencwadi asemgangathweni, kwelinye icala, abonelela ngezixhobo ezilungele ukusetyenziswa ezikhawulezisa uphuhliso kunye nokuphucula imveliso.

Kubalulekile ukukhumbula ukuba ukuqonda i-C++ luhambo oluqhubekayo. Ulwimi luhlala luvela, luzisa iimpawu ezintsha kunye nokuphuculwa kwenguqulelo nganye. Ke ngoko, kubalulekile ukuba uhlale usexesheni kwaye uqhubeke uziqhelanisa nokwenza eyona nto yonke iC++ inokunikezela.

Nokuba usaqala uhambo lwakho lwenkqubo okanye ujonge ukwandisa izakhono zakho, i-C++ ibonelela ngehlabathi lamathuba. Ngokudityaniswa kwayo okukhethekileyo kokusebenza kakuhle, ukuguquguquka, kunye namandla okuvakalisa, i-C++ iya kuhlala ilulwimi olusisiseko kubume benkqubo kwiminyaka ezayo.

Khumbula, isitshixo sokuqonda i-C++ kukuziqhelanisa rhoqo kunye nokusebenzisa iikhonsepthi kwiiprojekthi zokwenyani. Ungoyiki ukwenza umfuniselo, wenze iimpazamo kwaye ufunde kuzo. Wonke umgca wekhowudi oyibhalayo izisa inyathelo elinye kufutshane ekubeni yingcali yeC ++.

Ngaba ukulungele ukuntywila nzulu kwihlabathi elinomdla le-C++? Uhambo sele luqalile!

Ngaba usifumene iluncedo lentshayelelo yolwimi lwe-C++? Ukuba kunjalo, zive ukhululekile ukwabelana ngeli nqaku nabanye abadwelisi benkqubo okanye abo banomdla wokungena kwihlabathi lenkqubo. Sikunye sinokuyila uphuhliso olunamandla, olunentsebenziswano ngakumbi loluntu lwe-C++. Yabelana ngoku kwaye uncede abanye bafumane amandla eC ++!