const与static成员

350 阅读1分钟

const与static成员

常函数

形式:void fun() const{;}

注意点:

1.构造函数和析构函数不可以为常函数 2.可以使用数据成员,不可修改数据成员,函数内部的变量可以修改 3.常对象(声明对象加const)只能调用常函数 4.常对象的this指针为const CStu*

静态成员使用方法

形式:

  • static int a
  • static void fun()

静态数据成员的初始化:

  • 类外初始化,注意类名作用域前无修饰符
  • 静态常量整形数据成员可以直接进行初始化

调用:

  • 类名::数据成员
  • 对象调用
##include <iostream>

using namespace std;

class Stu
{
public:
 static int a;
 static const int b = 20;
};

int Stu::a = 12;

int main()
{
 Stu stu1;
 cout << "stu1.a=" << stu1.a << " stu1.b=" << stu1.b << endl;
 cout << "Stu::a=" << Stu::a << " Stu::b=" << Stu::b << endl;
 
 return 0;
}

结果: 静态成员函数:

  • 无this指针
  • 不可以调用非静态成员,只能调用静态成员
  • 调用方法与调调用成员函数一样
#include <iostream>
using namespace std;

class Stu
{
public:
 static int a;
 static const int b = 20;
 int c;

 static void fun()
 {
  cout << "b=" <<b<< endl;
 }

};

int Stu::a = 12;

int main()
{
 Stu stu1;
 Stu::fun();
 stu1.fun();
 
 return 0;
}

结果:

本文使用 mdnice 排版