Giter Site home page Giter Site logo

cplusplus_programming's Introduction

C++

Le mot clé const

int getVitesse() const;

int getVitesse() const
{
  return m_vitesse;
}

Ici le mot clé const dit au compilateur que la donnée membre ne peut pas être modifiée.

bool estPlusRapideQue(Voiture const& maVoiture);

Ici le mot clé const dit au compilateur que l'objet passé en paramètre ne peut pas être modifié.

Retour par référence

Voiture& demarrer();

Voiture& demarrer()
{
  m_demarree = true;
  return *this;
}

Le mot clé virtual

  • Une méthode virtuelle peut être redéfinie dans une classe fille. Cela permet d'appeler la méthode de la classe fille et non pas celle de la classe mére.
  • Une méthode virtuelle pure doit être redéfinie dans une classe fille. Dans le cas où ça n'a pas de sens d'implémenter la méthode dans la classe mère on la déclare comme virtuelle pure (=0).

Le mot clé static

  • Une métode statique peut être appelée directement sans créer d'objet.
  • Une variable statique est partagée par toutes les instances d'une même classe.

Le mot clé friend

Une fonction amie d'une classe peut accéder à tous ses éléments, même les éléments privés.

class MaClasse
{
    public:
        MaClasse();
        virtual ~MaClasse();

    protected:

    private:
        void afficher();

        friend void fonctionAmie(MaClasse & test);
};

Dans le MaClasse.cpp :
void MaClasse::afficher()
{
    cout << "Appellé par la fonction amie." << endl;
}

void fonctionAmie(MaClasse & test)
{
    test.afficher();
}

Dans le main.cpp :
MaClasse * test1 = new MaClasse();
fonctionAmie(*test1);

Qt

Pour faire fonctionner Qt :

sudo apt-get install build-essential libgl1-mesa-dev

Pour avoir la transparence sur les fenêtres de LXDE :

Voir http://debian-facile.org/doc:environnements:lxde:transparence pour l'installation de Compton.

compton &

Activation du mécanisme slots/signals personnalisé :

Ajout de la macro Q_OBJECT dans la classe => The Q_OBJECT macro must appear in the private section of a class definition that declares its own signals and slots or that uses other services provided by Qt's meta-object system.

Pour avoir les outils pour la traduction (lupdate):

sudo apt-get install qttools5-dev-tools
sudo apt-get install qt5-qmake

Qt Designer et layout

Pour qu'un layout s'applique à un QWidget il le faire dans le code avec setLayout() sinon le QWidget ne suivra pas le redimensionnement de la fenêtre.

cplusplus_programming's People

Contributors

julienbreton avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.