4、【C++】静态成员变量/静态成员函数/内联函数/友元函数/友元类/友元成员函数 您所在的位置:网站首页 静态函数与静态变量作用 4、【C++】静态成员变量/静态成员函数/内联函数/友元函数/友元类/友元成员函数

4、【C++】静态成员变量/静态成员函数/内联函数/友元函数/友元类/友元成员函数

#4、【C++】静态成员变量/静态成员函数/内联函数/友元函数/友元类/友元成员函数| 来源: 网络整理| 查看: 265

一、静态成员

    我们可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。

    静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时,所有的静态数据都会被初始化为零。我们不能把静态成员的初始化放置在类的定义中,但是可以在类的外部通过使用范围解析运算符 :: 来重新声明静态变量从而对它进行初始化,如下面的实例所示。

下面的实例有助于更好地理解静态成员数据的概念:

#include using namespace std; class Box { public: static int objectCount;//声明类的静态成员 // 构造函数定义 Box(double l=2.0, double b=2.0, double h=2.0) { cout Box Box1(3.3, 1.2, 1.5); // 声明 box1 Box Box2(8.5, 6.0, 2.0); // 声明 box2 // 输出对象的总数 cout xp=x;yp=y; value++; cout public: CRect(int x1,int x2):mpt1(x1,x2),mpt2(x1,x2) { cout CRect p(10,20); cout cout return objectCount; } private: double length; // 长度 double breadth; // 宽度 double height; // 高度 }; // 初始化类 Box 的静态成员 int Box::objectCount = 0; int main(void) { // 在创建对象之前输出对象的总数 cout cout a.data = x; cout public: friend class C; //这是友元类的声明 private: int data; }; class C //友元类定义,为了访问类A中的成员 { public: void set_show(int x, A &a) { a.data = x; cout public: void set_show(int x, A &a); //该函数是类A的友元函数 }; class A { public: friend void B::set_show(int x, A &a); //该函数是友元成员函数的声明 private: int data; void show() { cout class A a; class B b; b.set_show(1, a); return 0; }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有