一、
二、const放在函数后面。
1.const的函数不能对其数据成员进行修改操作;
2.const函数不能调用非const函数;
3.非常量成员函数不能被常量成员对象调用;
#ifndef TEST1_H #define TEST1_H #include <QObject> class Test1 : public QObject { Q_OBJECT public: explicit Test1(QObject *parent = nullptr); public: void t1()const; int t2(); private: int num_; }; #endif // TEST1_H
#include "test1.h" #include <QDebug> Test1::Test1(QObject *parent) : QObject(parent) { } void Test1::t1() const { qDebug()<<"num_:"<<num_; num_=2;//错误,const的函数不能对其数据成员进行修改操作。 qDebug()<<"t2()"<<t2();//错误,const函数不能调用非const函数。 } int Test1::t2() { return 2; }
const Test1 test; test.t1(); test.t2();//错误,非常量成员函数不能被常量成员对象调用