北京网站制作设计哪个公司好,网站备案期间可以建站,绍兴网站建设制作,php做简单网站教程成员
常成员、常对象#xff08;C推荐使用 const 而不用#define,mutable#xff09; const 数据成员只在某个对象生存周期内是常量#xff0c;而对于整个类而言却是可变的#xff08;static除外#xff09; 1.常数据成员#xff08;构造函数初始化表赋值#xff09;
c…成员
常成员、常对象C推荐使用 const 而不用#define,mutable const 数据成员只在某个对象生存周期内是常量而对于整个类而言却是可变的static除外 1.常数据成员构造函数初始化表赋值
class STU{
public:A():x(100){}const int x;
}2.常成员函数
void func() const;3.常对象
const STU a;静态成员属于类不属于对象
1.静态成员的声明
static int x;
static const int x 10;2.静态数据成员初始化
static int STU::x 10;//类之外的初始化3.静态成员函数
static void func();//能访问静态成员
//调用方法
STU::func();例常成员、常对象
#include stdio.hclass STU{
public:STU(int data 0):b(data){ //默认参数 0 b data;printf(STU\n);}~STU(){printf(STU Bye!!!\n);}void class_print(void) const{printf(b %d\n, b);}private:int a;const int b;
};int main(int argc, char const *argv[])
{STU x(10);x.class_print();STU y(100);y.class_print();STU z;z.class_print();return 0;
}
例静态
基于类不基于对象
#include stdio.hclass STU{
public:void func1(){printf(func1\n);}static void func2(){ //无需创建对象也可以调用printf(func2\n);}static int data;
};int STU::data 0;//一定类外初始化int main(int argc, char const *argv[])
{STU a;a.func1();a.func2();//STU::func1();//不能调用,因为不依附于对象,无staticSTU::func2();printf(data %d\n, a.data);STU::data 1000;printf(data %d\n, a.data);//静态成员也可以改变return 0;
}