`
shaxquan
  • 浏览: 14355 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

初始化static成员

    博客分类:
  • C++
 
阅读更多

 

//Cat.h

class Cat

{

public:

Cat(int age):its_age(age) {

HowManyCats++;

}

virtual ~Cat() {

HowManyCats--;

}

virtual int get_age();

virtual void set_age(int);

static int get_how_many() {return HowManyCats;}

private:

int its_age;

static int HowManyCats;

};

 

//Cat.cpp

 

#include "Cat.h"

int Cat::get_age()

{

return its_age;

}

void Cat::set_age(int age)

{

its_age=age;

}

 

int Cat::HowManyCats = 0; //初始化 static 成员

 

 

分享到:
评论

相关推荐

    类的static,const,static const,const static成员的初始化

    类的static、const、static const、const static成员的初始化 在 C++ 编程中,static、const、static const 和 const static 是四个常见的概念,但它们的初始化方式却容易弄混淆。下面我们将对这四种成员变量的初始...

    static成员变量不属于对象的一部分,而是类的一部分,所以程序可以在还没有诞生任何对象的时候就处理此种成员变量

    同样,为了避免头文件被多次包含导致初始化代码被执行多次,初始化`static`成员变量的代码不应放在头文件中。正确的做法是在程序的某一处全局范围内进行初始化,比如在主函数`main()`中,或者在任何函数外部的全局...

    const成员函数、初始化列表、static成员1

    C++ 编程语言 - const 成员函数、初始化列表、static 成员变量 C++ 编程语言中,const 成员函数、初始化列表、static 成员变量是三个重要的概念,它们在编程中发挥着重要的作用。 const 成员函数 在 C++ 中,...

    C++类成员和数据成员初始化总结

    4. **static 数据成员**则需要在类的外部初始化,因为它们是属于类的所有对象共享的,而不是每个对象独有的。 5. **数组成员**不能在初始化列表中初始化,也不能直接指定初始化。这意味着在类中定义的数组无法在构造...

    Java静态初始化块和对象初始化块

    这里我们将深入探讨两种类型的初始化块:静态初始化块(Static Initializer Block)和对象初始化块(Instance Initializer Block)。这两种初始化块在创建类实例或加载类时分别扮演着不同的角色。 **静态初始化块**...

    java数组初始化详解

    Java 数组初始化详解 Java 数组初始化是 Java 编程语言中的一种基本概念,它允许开发者创建和初始化数组,以便于存储和操作数据。在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明...

    项目中用到的jdbc连接 单例模式

    * 类载入到jvm的时候,会进行初始化,但是只会初始化static成员和static代码块, * 而不会初始化静态内部类的成员。因此,只有实际调用getInstance的时候, * 才会初始化静态内部类的静态成员。做到了延迟加载。 ...

    C#中结构(struct)的部分初始化和完全初始化实例分析

    这是由于结构是值类型,其成员未初始化意味着它们可能包含垃圾数据,调用方法可能会产生不可预期的结果。 接下来,我们讨论完全初始化,即确保结构的所有字段都被赋值。这可以通过直接为每个字段赋值或通过构造函数...

    java中类的初始化顺序

    1. **静态成员变量(Static Fields)**:在类加载时初始化。 2. **实例成员变量(Instance Fields)**:在对象创建时默认初始化或显式初始化。 3. **静态初始化块(Static Initialization Blocks)**:在类加载时...

    成员的初始化顺序和多态性

    ### 成员的初始化顺序 #### 实验背景与目标 在Java编程语言中,理解成员变量的初始化顺序对于正确地设计和实现类结构至关重要。通过本实验,我们将深入了解成员变量的初始化顺序,以及如何通过实际代码示例来验证...

    类继承的初始化顺序类,继承的初始化顺序

    1. **基类静态成员初始化**:如果基类中有任何静态成员,则会在程序启动时按照它们出现的顺序进行初始化。 2. **子类静态成员初始化**:随后是子类中的静态成员初始化。 3. **基类非静态成员初始化**:当创建一个...

    java面试题-类的初始化顺序.doc

    这意味着静态成员和静态初始化块对于所有类的实例都是共享的,而实例成员和实例初始化块则是每个对象独有的。 在面试中,面试官可能会通过这种类型的题目来评估应聘者对Java内存模型的理解,以及他们在编写代码时...

    深入浅析c/c++ 中的static关键字

    static关键字 1,static 成员变量 static 成员变量不随着对象的创建而开辟内存空间。也就是说,不管从哪个对象去看static成员变量,都是一样...重点:初始化static成员变量,要在类的外面。 #include using namespac

    Java static修饰成员变量

    综上所述,`static`关键字在Java中具有多种用途,包括定义类变量、类方法、静态初始化块以及静态内部类。理解和正确使用`static`对于编写高效、可维护的Java代码至关重要。在实际编程中,要根据需求选择是否使用`...

    Java static静态初始快

    在Java编程语言中,`static`关键字扮演着重要的角色,特别是在初始化类的静态成员时。`static`静态初始化块是用来初始化类级别的变量,也就是说,这些变量是属于类本身,而不是类的实例。当我们讨论“Java static...

    Java初始化块Java初始化块.doc

    静态初始化块不能访问非静态成员,包括实例属性和实例方法,因为它们依赖于对象实例,而静态初始化块在类加载时并没有对象存在。 类的初始化顺序如下: - 当Java创建一个对象时,先为对象的所有属性分配内存。 - ...

    php 静态变量的初始化

    静态变量的初始化通常在声明时进行,但必须注意的是,它们只能被标量类型(如整型、浮点型、字符串和布尔型)初始化。这意味着你不能直接在声明时将静态变量设置为对象。例如: ```php class A { static public $...

    C++类的静态成员初始化详细讲解

    这里我们将深入探讨静态成员的初始化,特别是针对整型和枚举型const静态成员的初始化规则。 首先,静态数据成员通常在类声明中被声明,然后在包含类方法实现的源文件中进行初始化。例如: ```cpp class Test { ...

    Java初始化顺序1

    多个类加载的时候,不是依次初始化好每个类的静态数据,再初始化每个类的实例成员,而是初始化好第一个类的静态数据,实例变量,再初始化下一个类的静态数据,实例变量。 static 关键字不能应用于局部变量,因此它...

    初始化和清理.ppt初始化和清理.ppt初始化和清理.ppt初始化和清理.ppt

    本节主要讨论了Java中的构造器、成员初始化、对象创建过程、垃圾回收以及垃圾回收器的工作原理。 4.1 构造器 构造器是Java中用于初始化新创建对象的特殊方法。它的名字与类名完全相同,没有返回类型,且不能声明为...

Global site tag (gtag.js) - Google Analytics