static在类中的定义,和enum的用法

class A
{
//	static int a = 1;//错误,静态变量在类外定义
	static int a;
	static const int b = 1;//如果是静态成员常量,则可以在类内定义
	static const int c;//也可以在外面定义
};
int A::a = 1;//类外定义静态成员变量;
const int A::c = 1;//在外面定义的静态成员常量

int main()
{
	enum day{sunday,monday,tuesday};
	day a = sunday;//a=0,enum从0开始
	cout << a;
	enum { d = 1 };//d现在也可以当作常量来使用
	int b[d];//可以这样使用
	cout << d;//可以使用
}

  

时间: 2024-11-06 19:03:26

static在类中的定义,和enum的用法的相关文章

Static在类中的作用

static 在类内用于定义静态成员.静态成员与具体的类无关,它的值及作用范围适用于所有的类,当它的值发生改变时,在所有的类中的值都会发生变化.并且,类内的Static成员,应在类外重新定义一次. 类的静态成员一般不应该在类内初始化.如初始化,必须使用constexpr进行修饰,成为一个常量. constexpr的作用是修饰一个常量,并在编译期检查一个表达式是否是常量表达式.

静态修饰符static,类中的常量定义修饰符

static可以用来区分成员变量.方法是属于类本身还是属于类实例化后的对象.有static修饰的成员属于类本身,没有static修饰的成员属于类的实例. 静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失static是一个修饰符,用于修饰成员(成员变量和成员函数)静态成员随着类的加载而加载.静态成员优先于对象存在.静态成员被所有对象所共享静态成员多了一个中调用方式,可以被类名直接调用.静态的优缺点优点: 静态成员多了一种调用方式.可以直接被类名调用 格式 :类名.静态成员.也

C++类中变量定义初始化总结

1.类成员不可以在定义时初始化 2.const类型的成员必须在初始化化列表进行初始化:一般变量在在初始化列表中初始化的顺序决定于定义的顺序 #include<iostream> using namespace std; class A { private: int n1; int n2; public: A():n2(0),n1(n2+2){} void Print(){ cout << "n1:" << n1 << ", n2

static在类中的功能

有时候类需要它的一些成员与类本身直接相关,而不是与类的各个对象保持关联. 例如一个银行账户类可能需要一个数据成员来表示当前的利率.在此例中,我们希望利率与类关联,而非与类的每个对象关联.从实现效率上来看,没有必要每个对象都存储利率信息.而且更为关键的是,一旦利率浮动,我们希望所有的对象都能使用新值.基于这样的需求,static的功能就被实现出来了. 在 C++类中, 可以定义静态成员变量. 使用 static 关键字对类的成员变量进行修饰时, 可以得到类的静态成员变量.类的静态成员变量的声明如下

怎样得到一个类中的所定义的变量的变量名

如:在类中我定义了几个个变量String helloString ="";String goodBye =""; 现在我要获取“helloString”这个字符串: 查了很多资料,终于找到了Java的反射技术,下面用以小程序来说明: import java.lang.reflect.Field;//引入包 public class Test {     public static void main(String[] args) {         Ha obj =

PHP接口中的静态变量、常量与类中静态变量、常量的区别

接口: 1 不能够定义静态变量(常量除外) 2 定义的常量 const YOUCONST = VALUE,不能在子类中覆盖,在子类中以 interfaceName::YOUCONST的方式调用 3 不能使用parent::YOUCONST的方式调用接口的常量 类: 1 const 变量可以使用parent::YOUCONST的方式,className::YOUCONST的方式在子类中访问 2 const定义的变量,在子类中可以被覆盖 3 当然在类中可以定义静态成员变量了 示例: <?phpint

C# 静态static 嵌套类 分部类

/*static的相关内容:静态字段,静态属性,静态方法,,静态构造,静态类,readonly,const,嵌套类,分部类 * static可以理解为全局的,共享同一块内存 * 可以通过default(类型名)得到每个类型的默认值 * 静态字段不从属于字段而是从属与类,而实例字段都是从属于每个字段,针对于每个字段都有不同的值 * 类和对象都能关联数据: * this是用于实例的访问方法,所以你能用this.静态成员进行访问 * 要想在静态方法中获得实例成员的访问,就必须先获得对字段或方法所从属于

php中const定义常量

const 常量 1.在定义时必须被初始值,2.前面不加任何修饰符3.变量名字母一般都大写4.常量可以被子类继承5.一个常量是属于一个类的,而不是某个对象的 作用:当某些值是固定不变的,就用const 1.const 定义的常量和define()定义的常量的区别? 希望一个成员变量不被修改 例如圆周率 3.1415926定义:const 常量名=值; 没有$符访问:类名 ::常量名 或 接口名::常量名 <?php defined('TEXT');检查一个名称的常量是否存在 class A{ c

PHP 类中的魔术方法

定义: PHP类中以两个下画线“__”开头的方法被称为魔术方法. 分类: 例如:构造方法:__construct:析构方法:__destruct:动态重载:__set().__get().__call().__callStatic():对象的克隆:__clone() 应用场景: 1.当程序试图修改一个不存在或不可见的类属性时,PHP引擎将会调用__set()方法,当然前提是该方法在类中被定义.__set()的定义格式如下: function __set($name,$value){ //实现细节