Use of colon after class name in c++

19,628

Solution 1

It means that ApplicationUI inherits all methods and member variables from the class QObject. The use of public means that the public methods and members of QObject are also public in ApplicationUI.

Solution 2

The class listed after the : is what the class ApplicationUI inherits from.

Solution 3

Simple code snippet here:

using System;

namespace ProgramCall
{

class Class1
{

    public int Sum(int A, int B)
    {
        return A + B;
    }

    public float Sum(int A, float B)
    {
        return A + B;
    }
}

class Class2 : Class1
{
    public int Sum(int A, int B, int C)
    {
        return A + B + C;

    }
}

}
Share:
19,628

Related videos on Youtube

DesirePRG
Author by

DesirePRG

Updated on March 04, 2020

Comments

  • DesirePRG
    DesirePRG over 4 years

    This is a header file extracted from a blackberry 10 helloworld program.

    #ifndef ApplicationUI_HPP_
    #define ApplicationUI_HPP_
    
    #include <QObject>
    
    namespace bb
    {
        namespace cascades
        {
            class Application;
            class LocaleHandler;
        }
    }
    
    class QTranslator;
    
    /*!
     * @brief Application object
     *
     *
     */
    
    class ApplicationUI : public QObject
    {
        Q_OBJECT
    public:
        ApplicationUI(bb::cascades::Application *app);
        virtual ~ApplicationUI() { }
    private slots:
        void onSystemLanguageChanged();
    private:
        QTranslator* m_pTranslator;
        bb::cascades::LocaleHandler* m_pLocaleHandler;
    };
    
    #endif /* ApplicationUI_HPP_ */
    

    I am confused about the colon operator right after the class name declaration.

    class ApplicationUI : public QObject
    

    What does this mean?

  • Vamsi Krishna
    Vamsi Krishna over 8 years
    Just a inheritance from the class1 to class 2 in simple way of doing it, i hope it helps some one!
  • Ari
    Ari about 7 years
    so, is that colon another name for extend keyword?
  • paddy
    paddy about 7 years
    No it's not, because there is no such keyword in C++.
  • Ari
    Ari about 7 years
    oh, it seems that I confused it with java. and it also supposed to be extends instead.