Hordhaca C ++ Luuqadda: Hagaha ugu dambeeya

Cusbooneysiintii ugu dambeysay: Nofeembar 1 ee 2024
Hordhac luqadda C++

C++ waa mid ka mid ah luqadaha barnaamijyada ugu saameynta badan uguna ballaaran ee loo isticmaalo adduunka horumarinta software. Tan iyo markii la aasaasay ilaa maanta, waxay u kobcisay si ay u noqoto qalab awood leh oo la taaban karo oo u oggolaanaya barnaamij-bixiyeyaasha inay abuuraan codsiyo hufan oo sarreeya. Maqaalkan waxaan ku soo qaadan doonaa dalxiiska Hordhaca luuqada C++ si adag.

Hordhac luqadda C++

Waa maxay C++

C++ waa luqad barnaamij ujeedo guud ah oo isku dareysa muuqaalada barnaamijyada heerka hoose iyo kuwa sare. Waxaa loo qaabeeyey sidii loo kordhin lahaa luqadda C, ku darida sifooyin cusub sida barnaamijyada shayga ku jihaysan. Kala duwanaanshaheeda ayaa ka dhigaysa mid ku habboon horumarinta wax kasta laga bilaabo nidaamyada hawlgalka ilaa ciyaaraha fiidiyowga.

Taariikh iyo horumar

Taariikhda C++ waxay dib ugu noqotaa 1979, markii Bjarne Stroustrup bilaabay inuu ka shaqeeyo waxa uu ugu yeeray "C with classes". Hadafkoodu wuxuu ahaa inay horumariyaan C iyagoo ku daray Tilmaamaha luqadaha kale, sida Simula. Sannadkii 1983-kii, luqadda waxaa loo beddelay C++, waxaana tan iyo xilligaas lagu soo maray dib-u-eegis iyo heerar kala duwan, iyadoo C++20 uu ahaa nuqulkii ugu dambeeyay ee xilliga qorista.

C++ Aasaaska

Si aad u bilowdo barnaamijka C++, waa lagama maarmaan in la fahmo fikradaheeda aasaasiga ah. Aynu eegno qodobada muhiimka ah ee aasaaska u ah luqaddan.

Syntax aasaasiga ah

C++ syntax waxay la mid tahay C, laakiin waxaa lagu daray qaar muhiim ah. Barnaamijka caadiga ah ee C++ wuxuu ku bilaabmaa ka mid noqoshada maktabadaha lagama maarmaanka ah, oo ay ku xigto shaqada main(), oo ah barta laga soo galo barnaamijka. Tusaale ahaan:

#include <iostream>

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

Barnaamijkan fudud wuxuu muujinayaa "Hello, adduunyo!" shaashadda.

Noocyada xogta iyo doorsoomayaasha

C++ waxa ay bixisaa noocyo badan oo xog ah, oo ay ku jiraan:

  • Isgoysyada (int)
  • Nambarada barta sabbaynaysa (float, double)
  • Jilayaasha (char)
  • Booleans (bool)
  • Arrays
  • Tilmaamayaasha

Doorsoomayaasha waxaa lagu caddeeyaa iyadoo la qeexayo nooca xogta oo uu raaco magaca doorsoomiyaha. Tusaale ahaan:

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

Hababka xakamaynta

Qaab dhismeedka xakamaynta ayaa aasaas u ah luuqad kasta oo barnaamij ah, C++na kama reebna. Kuwani waxay noo oggolaanayaan inaan xakameyno socodka fulinta barnaamijyadayada.

Shuruudaha

Qaab dhismeedka shuruuduhu wuxuu noo ogolaadaa inaan fulino qaybo kala duwan oo kood ah iyadoo ku xiran xaaladaha qaarkood. Kuwa ugu badan waa if,

else if y else. Tusaale ahaan:

int edad = 18;

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

Loops

Loops waxay noo ogoladaan inaan ku celino baloog kood dhawr jeer ah. C++ waxay bixisaa dhowr nooc oo loops ah:

  1. waayo,: Waxay ku habboon tahay marka aan ogaanno tirada saxda ah ee ku celcelinta.
  2. halka: Wuu fuliyaa inta xaaladdu run tahay.
  3. samee-inta: Waxay la mid tahay inta, laakiin waxay dammaanad qaadaysaa ugu yaraan hal dil.

Tusaale loop:

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

Hawlaha ku jira C++

Shaqaaluhu waa kood dib loo isticmaali karo oo qabta hawlo gaar ah. Waxay lagama maarmaan u yihiin abaabulka iyo qaabaynta barnaamijyadeena.

Baaq iyo qeexid

C++, waxaan inta badan ku dhawaaqnaa shaqooyinka ku jira faylalka madaxa (.h) waxaana ku qeexnaa faylalka fulinta (.cpp). Ku dhawaaqida shaqada waxaa ka mid ah magaceeda, nooca soo celinta, iyo cabbirada, halka qeexida ay sidoo kale ku jirto jirka shaqada.

// 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;
}

Gudbinta xuduudaha

C++ wuxuu kuu ogolaanayaa inaad siyaalo kala duwan u gudbiso cabirrada shaqooyinka:

  1. Qiimo ahaan: Nuqul ka mid ah doodda ayaa la abuuray.
  2. Tixraac: Ciwaanka xusuusta doodda waa la dhaafiyay.
  3. Tilmaan ahaan: Si la mid ah tixraaca, laakiin aad u dabacsan.
  Waa maxay waajibaadka maamulaha mareegaha?

Tusaalaha gudbinta tixraaca:

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

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

Ujeeddo ujeedo barnaamij

Mid ka mid ah sifooyinka ugu awoodda badan ee C++ waa taageerada ay u leedahay barnaamijyada shayga ku jihaysan (OOP). Nidaamkani wuxuu noo ogolaanayaa inaan habaynno koodkayaga qaab-dhismeedka loo yaqaanno fasallada, kuwaas oo koobaya xogta iyo dabeecadaha la xidhiidha.

Fasallada iyo walxaha

Fasalku waa qaab-dhismeedka walxaha. Wuxuu qeexayaa sifooyinka (sifaadka) iyo dabeecadaha (hababka) ay yeelan doonaan walxaha fasalkaas. Tusaale ahaan:

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;
}

Dhaxalka iyo polymorphism

Dhaxalku wuxuu kuu oggolaanayaa inaad abuurto fasallo cusub oo ku saleysan fasallada jira, iyagoo dhaxla sifooyinkooda iyo qaababkooda. Polymorphism, dhanka kale, waxay noo ogolaaneysaa inaan isticmaalno is-dhexgal guud oo loogu talagalay noocyada kala duwan ee xogta.

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;
    }
};

Maareynta xusuusta

C++ waxay bixisaa kontorool heer sare ah oo lagu maamulayo xusuusta, taas oo u oggolaanaysa barnaamijyo aad waxtar u leh laakiin sidoo kale waxay u baahan tahay daryeel dheeraad ah dhinaca barnaamijka.

Tilmaamayaasha

Tilmaamayaashu waa doorsoomayaal kaydiya cinwaannada xusuusta. Waa qalab awood leh laakiin sidoo kale isha caadiga ah ee khaladaadka haddii aan si sax ah loo isticmaalin.

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

Qoondaynta firfircoon

C++ waxay ogolaataa in xusuusta si firfircoon loo qoondeeyo inta lagu jiro fulinta barnaamijka. Tani waxay faa'iido leedahay marka aynaan horay u ogaanin inta xusuusta aan u baahan doono.

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

Maktabadaha caadiga ah

C++ waxay la socotaa maktabad heerkeedu sarreeyo oo bixisa hawlo badan oo faa'iido leh.

qulqulka

Maktabadu waxay siinaysaa shaqada gelinta iyo soo saarista ee xogta. Walxaha cin y cout ayaa si gaar ah waxtar u leh:

#include <iostream>

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

vector iyo xadhig

vector waa hirgelin habayn firfircoon, halka string waa fasal lagu maaraynayo xadhkaha qoraalka si ka habboon hab-dhaqanka xarfaha.

#include <vector>
#include <string>

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

Ka -reebista ka -reebista

Maareynta ka-reebitaanka waa farsamo lagu xalliyo khaladaadka iyo xaaladaha lama filaanka ah ee barnaamijyadeena.

Isku day, qabso oo tuur

Waxaan isticmaalnaa try in la duubo kood laga yaabo in laga reebo, catch in la qabto oo la qabsado marka laga reebo, iyo throw in la tuuro wax ka reeban.

#include <stdexcept>

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

Templates

Templates waa muuqaal awood badan oo C++ ah oo kuu ogolaanaya inaad qorto koodka guud kaas la shaqeeya noocyo kala duwan xogta.

Qaababka Shaqooyinka

Shaqada template waxay la shaqayn kartaa noocyo badan oo xog ah:

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;
}

Fasalada qaabaynta

Si la mid ah hawlaha template, waxaan abuuri karnaa fasallo la shaqeeya noocyo guud:

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

Dhaqannada barnaamijyada wanaagsan

Qaadashada dhaqamada wanaagsan ee barnaamijku waxay lama huraan u tahay qorista tayada C++ code.

  Visual Studio Code: Wax kasta oo aad u baahan tahay inaad ka ogaato tafatiraha ugu wanagsan

Habka codaynta

Joogteynta qaabka codaynta joogtada ah waxay wanaajisaa akhrinta koodka. Talooyin qaar:

  • U isticmaal magacyo qeexan doorsoomayaasha iyo shaqooyinka.
  • Ilaali soo gelitaan joogto ah.
  • Codka faallooyinka marka loo baahdo.

Ku habboonaynta

C++ waxay u ogolaataa heer sare oo hagaajin ah. Farsamooyinka qaarkood waxaa ka mid ah:

  • Isticmaal tixraacyo halkii aad ka isticmaali lahayd nuqullo mar kasta oo ay suurtagal tahay.
  • Ka fogow abuurista aan loo baahnayn ee walxaha ku meel gaadhka ah.
  • Isticmaal qaab-dhismeedka xogta ku habboon hawl kasta.

Qalabka horumarinta

Si aad si hufan ugu diyaariso C++, waxaa muhiim ah in la haysto agabka saxda ah.

Isku qasbay

Sameeyayaasha caanka ah ee C++ waxaa ka mid ah:

  • GCC (GNU Compiler Collection)
  • Calaacal
  • Microsoft Visual C ++

IDE-yada caanka ah

Qaar ka mid ah deegaanka horumarinta isku-dhafan ee caanka ah (IDEs) ee C++ waa:

  • Studio Visual
  • Libaax
  • Xeer :: Xannibaadaha
  • Qorrax madoobaad leh plugin CDT ah

Codsiyada wax ku oolka ah

C++ waxaa loo isticmaalaa meelo kala duwan oo kala duwan iyadoo ay ugu wacan tahay waxtarkeeda iyo wax-qabadkeeda.

Horumarinta barnaamijka

C++ waxaa si weyn loogu isticmaalaa horumarinta:

  • Nidaamyada hawlgalka
  • Bog furayaasha shabakadda
  • Macluumaadka
  • software xafiiska

Videogames

Ciyaaro badan oo wax qabadkoodu sareeyo ayaa ku qoran C++, oo ay ku jiraan:

  • Engine dhalanteed
  • CryEngine
  • Ciyaaraha sida World of Warcraft iyo Counter-Strike

Ilaha lagu barto C++

Si aad u sii waddo barashada iyo horumarinta xirfadahaaga C++, halkan waxaa ah agab lagu taliyay.

Buugaagta lagu taliyay

  1. "C++ Primer" waxaa qoray Stanley Lippman, Josée Lajoie, iyo Barbara E. Moo
  2. "C++ wax ku ool ah" waxaa qoray Scott Meyers
  3. "Luqadda C++ Programming" ee uu qoray Bjarne Stroustrup

koorsooyinka online-ka ah

  1. C++ ee Barnaamijyada Udacity
  2. Casharrada C++ ee Bilowga Dhameystiran ee Udemy
  3. Koorsada barnaamijka C++ ee edX

Su'aalaha Inta badan La Isweydiiyo ee ku saabsan Hordhaca C++ Luuqadda

1. C++ ma adagtahay in la barto?

C++ waxay noqon kartaa mid adag marka hore, gaar ahaan haddii ay tahay luuqadaada barnaamijka koowaad. Si kastaba ha ahaatee, ku-dhaqanka iyo dedaalka, waxa suurtogal ah in lagu hanto. Ka bilow aasaaska oo si tartiib tartiib ah ugu gudub mowduucyo aad u adag.

2. Waa maxay faraqa u dhexeeya C iyo C++?

C++ waa kordhinta C taaso ku daraysa sifooyin ay ka mid yihiin barnaamijyada shayga ku jihaysan, maaraynta ka baxsan, iyo qaab-dhismeedka. Halka C ay tahay luuqad habraaceed, C++ waa halbeegyo badan.

3. Waa maxay noocyada mashaariicda C++ ugu habboon?

C ++ waxay ku habboon tahay mashaariicda u baahan waxqabad sare iyo xakamaynta tayada wanaagsan ee ilaha nidaamka. Waxaa si weyn loogu isticmaalaa horumarinta nidaamka, ciyaaraha fiidyaha, codsiyada desktop-ka iyo software-ku-xidhan.

4. Sideen u wanaajin karaa koodka C++?

Si aad u horumariso koodka C++, ku celceli si joogto ah, akhri koodka barmaamijiyeyaasha, ka qayb qaado mashaariicda il furan, oo la soco muuqaalada luqadaha cusub. Waxa kale oo faa'iido leh inaad barato naftaada qaababka naqshadaynta iyo farsamooyinka hagaajinta.

5. Waa maxay faa'iidooyinka C++ ku leeyahay luqadaha kale ee barnaamijka?

C++ waxay bixisaa dheellitir heer sare ah oo u dhexeeya waxtarka iyo soo saarista. Waxay u ogolaataa in la xakameeyo heerka hoose ee ilaha nidaamka, iyada oo la siinayo wax soo saar heer sare ah oo awood leh. Intaa waxaa dheer, korsashada ballaaran waxay ka dhigan tahay inay jiraan maktabado badan iyo agabyo la heli karo.

6. Maxay yihiin horumarradii ugu dambeeyay ee C++?

Noocyadii dhawaa ee C++ (C++17, C++20) waxay soo bandhigeen astaamo cusub sida modules, fikrado, kala duwanaansho, iyo coroutines. Hagaajintan ayaa ka dhigaysa luqadda mid muujinaysa oo si sahlan loo isticmaali karo, iyadoo la ilaalinayo hufnaantiisa sifo.

  5-ta luuqadood ee ugu baahida badan barnaamijyada barnaamijyada

Gabagabada hordhaca C++ luqadda

La Hordhaca C++ Luuqadda In aynu maqaalkan ku baadhnay waxay si dhib yar u xagxaysaa dusha waxa afkan xoogga badan uu bixin karo. Laga soo bilaabo aasaaskeeda ilaa sifooyinkeeda ugu horumarsan, C++ ayaa weli ah aalad lagama maarmaanka u ah horumarinta software-ka adduunka.

Socdaalkeena oo dhan, waxaan aragnay sida C ++ isugu daro hufnaanta barnaamijyada heerka hoose leh iyo soo saarista heer sare ah, taasoo u oggolaanaysa horumariyeyaasha inay abuuraan wax walba laga bilaabo nidaamyada hawlgalka ilaa ciyaaraha fiidiyaha adag. syntax aasaasiga ah, qaab-dhismeedka xakamaynta, iyo fikradaha barnaamijka ku jihaysan shayga ayaa aasaas u ah taas oo la dhiso codsiyada waxqabadka sare leh.

Waxaan sidoo kale sahaminay sifooyin aad u horumarsan sida maaraynta xusuusta, isticmaalka templateka, iyo maaraynta ka reeban, kuwaas oo siinaya C++ dabacsanaan iyo awood gaar ah. Maktabadaha caadiga ah, dhinaca kale, waxay bixiyaan qalab diyaar u ah in la isticmaalo kuwaas oo dedejiya horumarka iyo horumarinta wax soo saarka.

Waa muhiim in la xasuusto in maaraynta C++ ay tahay safar socda. Luqadda ayaa si joogto ah u kobcaysa, soo bandhigaysa astaamo cusub iyo horumarin nooc kasta ah. Sidaa darteed, waa muhiim inaad la socoto taariikhda oo aad sii wado ku celcelinta si aad uga faa'iidaysato wax kasta oo C++ ay bixiso.

Haddii aad hadda bilaabayso safarkaaga barnaamijka ama aad raadinayso inaad ballaariso xirfadahaaga, C++ waxay ku siinaysaa adduunyo suurtagal ah. Isku darka gaarka ah ee hufnaanta, dabacsanaanta, iyo awoodda muujinta, C++ waxay ahaan doontaa luuqad aasaasi ah oo ku jirta muuqaalka barnaamijka sanadaha soo socda.

Xusuusnow, furaha maaraynta C++ waa ku celcelinta joogtada ah iyo adeegsiga fikradaha mashaariicda dhabta ah. Ha ka baqin inaad tijaabiso, khalad samayso oo wax ka baro. Sadar kasta oo kood ah oo aad qorto waxay kuu keenaysaa hal tallaabo inaad noqoto khabiir C++ ah.

Diyaar ma u tahay inaad si qoto dheer u dhex gasho adduunka xiisaha leh ee C++? Socdaalkii hadda wuu bilaabmay!

Hordhac luqadda C++ ma u aragtay mid waxtar leh? Haddii ay sidaas tahay, xor u noqo inaad la wadaagto maqaalkan saaxiibbadaada barnaamijyada ama kuwa xiisaynaya inay galaan barnaamijka adduunka. Waxaan si wadajir ah u abuuri karnaa bulsho horumariyaha C++ ka xoog badan, iskaashato. La wadaag hadda oo ka caawi kuwa kale inay ogaadaan awoodda C++!