精华内容
下载资源
问答
  • 当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类每一个普通数据成员的副本,但静态...静态成员不可在类体内进行赋值,因为它是被所有该类的对象所
  • 下列有关静态成员函数的描述中,正确的是: A、静态数据成员可以在类体内初始化 B、静态数据成员不可以被类对象调用 C、静态数据成员不受private控制符作用 D、静态数据成员可以直接用类名调用答案:DA,静态...

    下列有关静态成员函数的描述中,正确的是:
    A、静态数据成员可以在类体内初始化
    B、静态数据成员不可以被类对象调用
    C、静态数据成员不受private控制符作用
    D、静态数据成员可以直接用类名调用

    答案:D

    A,静态成员属于类,而不是属于某个特定的对象,它是由该类的所有对象共享的,因此不能在类的构造方法中初始化
    B,静态成员属于该类所有对象公有,可以被类对象调用
    C,静态成员收private的限制
    D,静态成员属于类和该类的所有对象,可以用类名直接调用

    展开全文
  • C++类静态成员与类静态成员函数 当将类的某个数据成员声明为static时该静态数据成员只能被定义一次而且要被同类的所有对象共享各个对象都拥有类每一个普通数据成员的副本但静态数据成员只有一个实例存在与定义了...
  • 昨天在修改项目函数功能时,在其中一个类添加了一个静态成员变量和两个静态成员函数,结果在链接时出现一个非常典型的错误:“The follwing symbols referenced in processor “p0” could not be resolved:Class:...

    昨天在修改项目函数功能时,在其中一个类中添加了一个静态成员变量和两个静态成员函数,结果在链接时出现一个非常典型的错误:“The following symbols referenced in processor “p0” could not be resolved:Class:var1…”。我知道这是在链接的时候没有找到变量var1的定义,没有为变量var1分配内存,但是我感到奇怪的是我在类中定义了var1啊。经过有经验的同事分析,导致这个错误的原因原来是我只是在类头文件中声明了变量var1,并未在cpp文件中定义和初始化
    我在类Class中对变量的定义为:

    class:Class
    {
    protected:
        static int var1;
    public:
        static void SetValue(int temp) { var1=temp; }
        static int GetValue() { return var1; }
    };
    

    随后我在Class中在cpp文件中添加了var1的初始化:

    int Class:var1=0;
    

    然后问题就解决了,瞬间很开心有没有。对于类静态成员变量,不能在类声明中初始化静态成员变量,这是因为声明描述了如何分配内存,但并不分配内存。对于静态类成员,可以在类声明之外单独进行初始化,这是因为静态类成员是单独存储的,而不是对象的组成部分。要注意初始化语句指出了类型,并使用了作用域运算符,但没有使用关键词static。

    P.S.对于不能在类声明中初始化静态类成员变量的一种例外是,静态成员变量为const整数型或者枚举型。

    既然谈到了静态类成员变量,顺便了解一下静态类成员函数。可以将类成员函数声明为静态的,即包含static关键词,这样做会有以下结果:

    • 首先,不能通过对象调用静态成员函数,也不能通过this指针调用。如果静态成员函数是在工友部分声明的,则可以使用类名和作用域解析运算来调用它,在上面的例子中即为int val=Class::SetValue(val)。
    • 其次,由于静态类成员函数不与特定的对象关联,因此只能使用静态数据成员,例如静态方法GetValue()只能调用静态数据var1。

    总结一下:

    • 静态类成员变量在类头文件中声明,在cpp文件中初始化,如果是const整数型或者枚举型则可以在声明中初始化。
    • 类静态成员函数和变量都不能通过对象和this调用,只能通过类名和作用域解析运算调用,同时静态成员函数只能调用静态成员变量。

    祝枫
    2018年10月1日

    展开全文
  • 下面对静态数据成员描述中,正确的是? 正确答案: D 你的答案: 空 (错误) 静态数据成员可以在类体内进行初始化 静态数据成员不可以被类的对象调用 静态数据成员不受private控制符的作用 ...

    下面对静态数据成员的描述中,正确的是?

    正确答案: D   你的答案: 空 (错误)

    静态数据成员可以在类体内进行初始化
    静态数据成员不可以被类的对象调用
    静态数据成员不受private控制符的作用
    静态数据成员可以直接用类名调用


    static数据成员必须在类体之外进行定义。通常在定义时才进行初始化。但是,当类型为const static时的整形时可以在类体内进行初始化。因此A有正确的地方,但是也有错误的情况,因此不选A。

    展开全文
  • 一、C#静态和实例概念 静态概念:公共的、全局的、不属于个别实例的定义。 实例概念:new 出来的具体单个对象。随着作用域定义,使用,销毁(多数实例,通过垃圾回收机制自动销毁)。 静态 实例 关键字...

    一、C#静态和实例概念

    静态概念:

    公共的、全局的、不属于个别实例的定义。

    加载时调用一次,占领内存,不会销毁。

    实例概念:

    new 出来的具体单个对象。

    随着作用域定义,使用,销毁(多数实例,通过垃圾回收机制自动销毁)。

    静态实例
    关键字static修饰类或方法不能使用static修饰类或方法
    修饰后类直接调用需要先实例化对象,用对象调用
    静态只会执行调用一次,并且在程序退出之前会一直保持状态,占领内存实例化一次调用一次
    先执行静态方法后执行实例方法

     

    二、C#静态类和实例类

    静态类:

    1.全局公共封装类,使用 static class定义。

    2.使用方式:类名.属性 、类名.方法

    3.一般不为静态类,设置构造方法

    4.静态资源程序启动时就加载,即可使用

    常用的底层基础类库不少是静态类

    例如:Syste.Math

    实例类:

    1.最常用的面向对象编程的类 使用class 定义

    2.使用方式 需要 new 出对象后,才能使用。

      FileInfo file = new FileInfo(@"e://one.txt");

     

    三、C#静态成员和实例成员

    静态成员:

    1.静态成员是属于“类”的或者说属于所有对象共有的

    2.静态成员:静态属性,静态方法, 使用static 声明

    3.静态成员,从当前类中可以直接使用; 从其他类中,需要通过 类名.静态成员 使用。

    4.实例方法中可以访问静态成员,静态发放中不能直接访问实例成员。

     

    实例成员:

    1.需要 new 运算执行后才可使用

    2.实例成员,可以归垃圾回收机制销毁,可以自定义销毁

     

    举例说明静态成员使用:

    static void Test2()
    {
        //FileInfo file = new FileInfo(@"e://one.txt");
    
        Student stu1 = new Student();
        stu1.RealName = "张三";
    
        Student stu2 = new Student();
        stu2.RealName = "李四";
        Console.WriteLine($"系统中学生总数量:{Student.AllCount}");//打印2
    }
    
    public class Student
    {
        /// <summary>
        /// 学生总数量
        /// </summary>
        public static int AllCount { get; set; } = 0;
    
        public string RealName { get; set; }
        public Student()
        {
            //没创建一个对象就累计一下
            AllCount++;
        }
    }

     

     

    更多:

     C# 字符串格式化_C# 字符串格式化整理

     C# 字符串拼接整理_C#字符串拼接方式整理

    C# 项目结构整理_.Net 项目结构整理

    展开全文
  • 在这个模板我们可以模拟实现私有成员,受保护成员,静态成员。 这是一个在JS模拟的类定义语法,代码Class是一个自定义函数,它接受两个参数,第一个参数是类名、第二个参数是一个JSON用来一个对象的模板。在这...
  • 静态成员静态成员函数的总结

    千次阅读 2018-12-20 23:01:01
    一、静态成员的特点: (1)static数据成员在类的内部声明,但只能在类的外部定义,在类的外部不能指定static,在类的定义时候进行初始化; (2)static数据成员只能在类的外部进行初始化(特例:当整型const ...
  • 类的静态成员

    2017-09-26 12:43:40
    类的静态成员是指声明为static的成员(包括成员函数和成员数据)。静态成员和类的普通成员一样,也有public、protected、private3种访问级别,也可以具有返回值,const修饰符等参数;静态成员的声明即在普通成员的...
  • Java静态成员

    2016-07-18 17:22:54
    类变量 (静态变量)类的成员变量有两种:一种是用static修饰的变量叫静态变量(访问方式:1、类名.变量名。2、对象名.变量名)。另一种是没有被static修饰的变量叫做实例变量。 静态变量与实例变量的区别:静态...
  • C语言static函数的作用: C程序一直由下列部分组成:  1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;   2)初始化数据段(数据段)——在程序所有...
  • C++的类静态成员静态成员函数

    千次阅读 2014-07-28 12:55:19
    静态成员
  • 静态方法不允许访问类的非静态成员(包括成员的变量和方法),因此是通过类调用的,没有对象的概念,this->data不能用!!! (2) 但是实例方法只能通过对象名.方法名 2: //定义一个静态方法 public class Main...
  • C++类静态成员与类静态成员函数    当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类每一个普通数据成员的副本,但静态数据成员只有...
  • C++类静态数据成员与类静态成员函数当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类每一个普通数据成员的副本,但静态数据成员只有一个实例...
  • 从保存位置、书写格式、生命周期上、使用方法、修改后的影响范围上看静态成员变量和非静态成员变量的区别。
  • 1.定义静态数据成员后要对静态数据成员进行初始化! 静态数据成员的初始化: <数据类型><类名>::静态数据成员 = <值> 2.静态数据成员往往数私有的,静态数据成员不能直接访问,要通过定义为公有...
  • 定义一个类Student,要求使用静态数据成员或静态成员函数计算5个学生的《计算机导论》课程的总成绩和平均成绩。请同学们自行设计该类。 【提示】 静态数据成员:static int total; 表示所有同学成绩总分 静态成员...
  • 静态成员及友元(小题)

    千次阅读 2020-06-27 16:28:47
    静态成员变量的访问控制权限没有意义,静态成员变量均作为公有成员使用。 1-5 友元函数不是类的成员函数,只是独立于该类的一般函数。 1-6 一个类的友元函数可以访问该类的私有成员。 1-7 可以将一个类的成员函数...
  • 对象和类——类的静态成员

    千次阅读 2018-05-29 10:07:53
    思考:为什么静态成员函数不能调用非静态成员函数? 我们知道,静态成员函数是属于类的,可以通过类名直接访问,而不需具体的对象。那么如果有两个对象,而这两个对象的成员变量不相同。而这个类的静态成员...
  • 定义字符型静态数据成员ServerName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。 #include using namespace std; class Client { ...
  • 静态成员 —— 模拟共享书店

    千次阅读 2020-10-26 12:46:01
    静态成员 —— 模拟共享书店 任务描述 本关任务:假设有一个这样的共享书店,当客户进入书店时需要托管一定数量的书籍,而这些书籍将被书店内所有用户共享,当客户离开书店时,他便会把之前进入书店托管的书一起带走...
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    在一个静态方法内调用一个非静态成员为什么是非法的? 什么是方法的返回值?返回值的作用是什么? 内部类 什么是内部类? 内部类的分类有哪些 静态内部类 成员内部类 局部内部类 匿名内部类 内部类的优点 内部类有...
  • 类的静态成员函数和静态数据成员

    千次阅读 2015-10-10 21:31:27
    一、基本知识当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类每一个...静态数据成员不能在类初始化,实际上类定义只是在描述对象的蓝图,在其中
  • 当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有... 静态成员变量不能在类初始化,实际上类的定义只是在描述对象的蓝图,在其中指定初值是不允许的。也不能在类的构造...
  • 嵌套类有四种:静态成员类、非静态成员类、匿名类和局部类。除了第一种之外,其他三种被称为内部类。 二、什么是静态内部类 静态成员类是最简单的一种嵌套类。最好把他看做是普通类,只是碰巧被声明在另一个类的...
  • 静态成员

    2019-05-18 17:30:42
    静态成员分为静态数据成员和静态成员函数。 二.静态成员可以实现多个对象的共享,突破使用全局变量的局限。 三.静态数据成员的介绍 1.静态数据成员的定义形式:static 类型名 变量名。 2.静态数据成员不属于任何...
  • JAVA序列化和反序列化静态成员问题

    千次阅读 多人点赞 2015-11-22 14:13:25
    JAVA的序列化和反序列化静态成员问题  关于这个标题的内容是面试笔试比较常见的考题,大家跟随我的博客一起来学习下这个过程。  JAVA的序列化和反序列化主要用于: (1)将对象或者异常等写入文件,...
  • 实验四 静态成员与友元一、实验目的和要求 了解成员函数的特性,掌握静态成员、友元等概念。二、实验内容1、调试下列程序,写出输出结果,并分析输出结果。运行结果图:输出结果分析:创建对象P时,调用构造函数对...
  • 一 抽象类和抽象方法 用abstract修饰的方法称为抽象方法 含有抽象方法的类必须定义为抽象类 使用场景: 为了描述抽象的概念,不予具体的事物相关联 ...3,抽象类可以没有抽象成员,但是抽象成员...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 190,149
精华内容 76,059
关键字:

关于静态成员的描述中