Vraag & Antwoord

OS Linux

Linux

Anoniem
None
49 antwoorden
  • Dat lees je toch uit de code? ;)
  • jij misschien, maar ik heb me daar nog niet mee bezig gehouden en kan dat dan ook niet ruiken ;) Maar het zou me wel leuk lijken om dit een beetje te kunnen ontcijferen… dus zeg maar wat hij "maakt" met deze codes…
  • Goed: C++ is een soort van uitbreiding op C. In princiepe kan C++ hetzelfde als C, en is elk C programma tevens een legaal C++ programma. de naam C++ is afkomstig uit een woordgrapje nl.: '++' staat voor de incrementeer operator, dwz, als er staat 'C++;' betekend dat leterlijk 'neem de waarde (in dit geval dus een nummer, ofwel integer) van C en tel er 1 bij op' kortom, deze programmeertaal is C plus wat extra's ;) Die extra is, buiten een iets gewijzigde standaard (ANSI-C++), de mogenlijkheid voor het zgn. 'OOP' oftewel Object Oriented Programming/Object georieenteerd programmeren. Om te begrijpen wat OOP precies inhoudt, moet je tevens het tegenovergestelde kennen, nl. 'Procedureel Programmeren' beknopt samengevat houdt dit in dat een programma is onderverdeelt in kleine sub-programma's, ofwel 'funtions' deze functions roepen elkaar keer op keer aan volgens een bepaalde 'funtion stack' hetgeen net werkt als een stapel borden: steeds wordt er een bord bovenop gezet, ofwel een nieuwe functie wordt aangeroepen, en je kunt dus alleen het laatste bord van de stapel pakken, ofwel de onderliggende functie moet wachten tot de zojuist aangeroepen functie verlaten wordt.
    Bij OOP werkt het anders, nl met bepaalde objecten, deze kunnen zowel functie's als verschillende type data bevatten, elkaar aan roepen, en verschillende instanties van een object beheren.
    Het object wat ik poste is een instellingen dialog, gebruikmakend van Qt/KDE voor linux. (uiteraard is nog niet compleet ;) )
    Andere OOP nieuwtjes zijn bv:
    Het erven van eigenschappen van de zogeheten 'parentclasse' (ouder-klasse, class is eigenlijk gewoon object)
    Overloading van functies en operators, ofwel Polymorfie (ofwel, veelvormigheid)
    Inkapseling, het aanelkaar schakelen en inelkaar bouwen van objecten/classe
    Ik wil je al deze shit graag eens uitleggen mocht je interessen hebben, via MSN (jaaa, dat is er ook voor linux) of mail 'Barry Faas <phaas@wanadoo.nl>'
    Als deze info lijkt misschien erg veel, maar als je C++ daadwekelijk wilt gaan leren valt het erg mee. (ik ben dan ook al erg lang bezig ;) )
    Een goed boek is natuurlijk wel erg handig, ik heb C , C++ in 24 uur gelezen, opzich wel goed maar eeeerg beknopt en in de C++ versie slaan ze de helft over, dus het eerste C boek is een must. maar goed ;)
    Je kunt natuurlijk ook een wat makkelijkere programmeertaal gaan leren, maar zelf vind ik C/C++ voor de linux-power-user eigenlijk een must. Oke, je kunt beter eerst even gaan bekommeren over het installeren van linux zelf :)
    Enne mocht je dus vraagies hebben, misschien kan ik je helpen…..

    Suc7
    Barry Faas
  • Oja als je natuurlijk gaat beginnen is die hele lap (vrij saaie) tekst behoorlijk onhandig, dit is het wereldberoemde, 'Hello-World' programma, waar eigenlijk elke programmeur-in-spe me begint:
    [code:1:6fa5a737f9]
    // dit is commentaar (zoals ALLES dat begint met // of /* en eindigt op */

    #include <stdio.h>

    int main()
    {
    printf("Hello World!");
    return 0;
    }
    [/code:1:6fa5a737f9]

    Oke, laten we um even doornemen ;)
    Eerst wat commentaar, niks is leuker dan commentaar geven.
    daarna, [i:6fa5a737f9] #include <stdio.h> [/i:6fa5a737f9]
    Alles waar een # voor staat is voor de zgn preprocessor (niet te verwarren met foodprocessor) hetgeen betekend dat de gehele inhoudt van het bestand 'stdio.h' wordt geplakt in je programma ;)
    stdio.h staat voor 'standaard input en output' en is een zogeheten 'library' ofwel bibliotheek bestand. Dit ding bevat het (en nog veeeel meer) 'printf' commando dat de regel tekst op het scherm projecteerd.
    [i:6fa5a737f9]int main()[/i:6fa5a737f9]
    Dit is een zogeheten functie definitie, het verteld de computer dit:
    de functie 'main' heeft geen argumenten (de haakjes zijn leeg) en retourneerd een waarde met als type een nummer (dus een int, ofwel integer)

    Alles tussen { en } is de eigenlijke functie.

    [i:6fa5a737f9] printf("hello world!"); [/i:6fa5a737f9]
    – printf : roep de functie printf aan
    – ( … ) : de 'argumenten' voor de functie, in dit geval een tekst
    – ; : we zijn klaar met deze funtie

    [i:6fa5a737f9] return 0; [/i:6fa5a737f9]
    Geef de retourneer waarde 0 voor de main-functie(hetgeen betekend: geen fouten opgetreden)

    Elke programma heeft dus een functie main, maar je bent zelf vrij om nieuwe functie's aan te maken.
    bv:
    [code:1:6fa5a737f9]
    void mijnfuntie() // void = 'geen return-waarde'
    {
    print("Hoi");
    return; // functie is void, dus geen getal.
    }
    [/code:1:6fa5a737f9]

    Zoals je ziet is dit procedureel programmeren en geen OOP. OOP is stukken abstracter en niet zo makkelijk om mee te beginnen.

    Als je dit leuke proggie nu wilt gaan compileren in linux, gebruik je gcc:
    $ gcc helloworld.cpp -o helloworld
    $ ./helloworld
    Hello world!
    $

    Klaar !

    Barry Faas

    'meer op verzoek ;) ' lol
  • thanx… ik heb het allemaal gelezen :) Moet zeggen dat het nu wat duidelijker is. Ik zie hier ook een klein beetje HTML in terug (maar dat zal wel aan mij liggen :) ). Ik moet deze vakantie eerst maar eens linux goed aan de praat krijgen en als ik hier ooit nog mee wil beginnen zal ik jou contacten :) BTW. een maat van me had toch zo'n spelletjes gemaakt in c++ oid? Wil je zeker wel ff zien dan? ==> www.leptians.com daar kun je hem downloaden (Klik op "Go game")
  • Anthony als je Linux weer draaiend hebt moet je echt is de bash proberen (shell) hij is echt geweldig zeg. Dat gaat veel beter en sneller dan files managen met Konqueror ook bureaublad snelkoppelingen worden overbodig dus das lekker opgeruimd.
  • thanx voor de tip marcel! eerst lekker een midweekie op vakantie dalijk en dan maar weer eens aan linux gaan sleutelen :) Heb je die game al geprobeerd?
  • [quote:d84ff032a0="kajutsa"]thanx voor de tip marcel! eerst lekker een midweekie op vakantie dalijk en dan maar weer eens aan linux gaan sleutelen :) Heb je die game al geprobeerd?[/quote:d84ff032a0]

    Ja maar die doet het niet :(
    Ik zie alleen maar een vage code als ik op de download link klik :(
  • hmmmz vaag, ikzelf heb hem ook nog niet geprobeerd… wel een andere van hem en die deed het wel! :-?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.