问题
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?
回答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
.
回答2:
The class listed after the : is what the class ApplicationUI inherits from.
回答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;
}
}
}
来源:https://stackoverflow.com/questions/19898920/use-of-colon-after-class-name-in-c