const,static 实例程序

来源:互联网 发布:自然语言处理分类算法 编辑:程序博客网 时间:2024/06/05 20:17

1. 类的静态常变量成员必须在类中申明时候就初始化。并且只有静态常变量能够在申明时候初始化。

// static.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"
#include <iostream>
using namespace std;
class A
{
private:
static const int a=1;
public: 
//void add();
void display()
{
cout<<"a="<<a<<endl;
}
};
//int A::a=1;


/*void A::add()
{
a++;
}*/


void main()
{
A a;
//a.add();
a.display();
A b;
//b.add();
b.display();
}

2 类的静态成员要在类外用“类名::静态成员=初始化值”的方式初始化

// static.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;
class A
{
private:
static int a;
public: 
void add();
void display()
{
cout<<"a="<<a<<endl;
}
};


int A::a=1;


void A::add()
{
a++;
}


void main()
{
A a;
a.add();
a.display();
A b;
b.add();
b.display();
}

3 const 类成员只能用构造函数初始化列表进行初始化

// static.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
using namespace std;
class A
{
private:
const int a;
public: 
A(int x):a(x)
{

}
//void add();
void display()
{
cout<<"a="<<a<<endl;
}
};


/*void A::add()
{
a++;
}*/


void main()
{
A a(3);
//a.add();
a.display();
A b(4);
//b.add();
b.display();
}







0 0
原创粉丝点击