首页 > 试题广场 > 关于C++/JAVA类中static 成员和对象成员的说法正
[单选题]
关于C++/JAVA类中static 成员和对象成员的说法正确的是?
  • static 成员变量在对象构造时生成
  • static 成员函数在对象成员函数中无法调用
  • 虚成员函数不可能是static 成员函数
  • static 成员函数不能访问static 成员变量
推荐
答案:C
static为成员变量或函数,在类初始化是加载完成,可以被成员函数调用或访问
编辑于 2015-01-04 22:51:30 回复(5)
C,
static成员变量是在类加载的时候生成的
static成员函数既可以通过类名直接调用,也可以通过对象名进行调用
虚函数是C++中的,虚函数不可能是static的
static成员函数可以访问static成员变量
发表于 2015-08-17 15:42:40 回复(6)
在java语言中虚函数指代的就是抽象方法,抽象方法中不能用private,static, synchronized,native等修饰词修饰。
发表于 2015-11-08 18:10:39 回复(5)
静态可以访问静态,静态不能访问非静态,非静态可以访问静态,非静态可以访问非静态
发表于 2016-05-20 11:08:46 回复(0)
媛头像

答案:c   解释,(1)类的static成员变量属于该抽象类,需要在类定义时初始化,不可以在对象的构造函数中初始化。(2) static成员函数在对象成员函 数中可以调用,同属于一个类作用域 (3)正确,static成员函数不可以声明为const和virtual,详见C++ primer  (4)static成员函数只能够访问static 成员变量。

#ifndef TEST_H
#define TEST_H
#include <stdio.h>
class test
{
private:
intsubmember;
static int  member;
public:
static void writetest(int member)
{
test::member = member;
//test::submember = member;
}
static void display(int count)//static成员函数,属于抽象类,不属于类对象
{
printf("the count number is %d \n",count);
}
void readtest(int mem)  //对象成员函数
{
printf("helllo %d \n",test::submember);
//test::writetest(mem);// static成员函数在对象成员函数中可以调用,同属于一个类作用域,但是,static函数不能包含对stati成员的操作,否则出现错误
display(8);
}
};
#endif

#include "onceon.h"
int main(void)
{

int aa = 2;
test a ;
a.readtest(aa);
}
发表于 2015-09-30 10:07:04 回复(2)
一群人简直瞎写,这跟答案毛关系
发表于 2018-05-26 13:02:14 回复(0)

1.静态成员函数不能声明为virtual,编译会报错

2.为何static成员函数不能为virtual?两点原因:

1. static成员不属于任何类对象或类实例,所以即使给此函数加上virtual也是没有任何意义的。
2. 静态与非静态成员函数之间有一个主要的区别。那就是静态成员函数没有this指针。
发表于 2017-04-12 11:13:23 回复(0)
a:static 成员变量在加载类时就已经生成了
static成员函数在对象成员函数中是可以调用的,同一个类中直接写成员名,不同类中,常常用类名.成员名
static成员函数不是不能访问static成员变量,而是不能直接访问,可以先创建对象再访问
发表于 2018-07-16 19:04:31 回复(0)
在java语言中虚函数指代的就是抽象方法,抽象方法中不能用private,static, synchronized,native等修饰词修饰。
编辑于 2017-09-01 22:51:46 回复(0)
static成员变量或成员函数是属于类本身的,并不属于具体的对象。
static成员变量初始化必须放到类外面进行定义
发表于 2017-06-27 16:45:01 回复(0)
静态数据成员不属于类的任何一个对象,所以它们并不是在创建类的对象时定义的,这意味着它们不是由类的构造函数初始化的。
发表于 2019-08-10 21:00:16 回复(0)
static的学习
1、静态全局变量:全局变量加上static关键字
   
    特点:
     1、在全局数据区分配内存
     2、未出初始化的会被自动初始化为0
     3、整个文件可见,不会被其它文件所访问

2、静态局部变量:全局变量加上static关键字

    特点:
     1、在全局数据区分配内存
     2、在程序执行到该对象的声明处被首次初始化,
        之后的函数调用也不会再进行初始化
     3、始终驻留在全局数据区,直到程序运行结束
        但其作用域为局部作用域,当定义它的函数或语句块结束时,
        其作用域随之结束。

3、面向对象(类中的static关键字)
    
    3.1 静态数据成员:数据成员加上static
       
        特点:
         1、静态数据成员只分配一次,供所有对象共用
         2、static数据成员在全局数据区分配内存,
            所以没有产生类对象时其作用域就可见,
            即不产生类的实例时可以操作
         3、static成员变量是在类加载的时候生成的
    

    3.2 静态成员函数:static + 成员函数
        
        特点:
         1、无法访问类对象的非静态数据成员和非静态成员函数
         2、可以访问静态的成员和函数
         3、非静态的成员函数可以访问static的
         4、static成员函数不可以声明为const和virtua

发表于 2018-09-11 22:22:08 回复(0)
虚函数是C++的,在Java中是相当于抽象函数,抽象函数必须是实例方法,不能用static修饰,是非静态的。
发表于 2018-07-23 19:31:51 回复(0)
static变量是在类初始化后完成声明,虚成员变量不能被长期调用,而static是可以全局调用的
发表于 2019-06-24 08:57:41 回复(0)
static 是在类生成的时候创建的 static 可以通过类名调用也可以通过对象名调用 static 成员函数 可以访问static成员变量
编辑于 2019-04-28 14:57:45 回复(0)
C++中的虚函数指的是java中的抽象方法,不能用static修饰 静态成员在类加载时完成
发表于 2019-04-05 13:00:35 回复(0)
虚函数是虾米
发表于 2019-03-17 11:43:44 回复(0)
1.static 成员变量在加载类时就已经生成了
2.static成员函数在对象成员函数中是可以调用的,同一个类中直接写成员名,不同类中,常常用类名.成员名
3.在java语言中虚函数指代的就是抽象方法,抽象方法中不能用private,static, synchronized,native等修饰词修饰。
发表于 2019-02-21 17:39:27 回复(0)
虚函数是C++里边的东西,在类初始化是加载完成,可以被成员函数调用或访问
发表于 2018-12-31 16:07:49 回复(0)
1.static 成员变量在加载类时就已经生成了
2.static成员函数在对象成员函数中是可以调用的,同一个类中直接写成员名,不同类中,常常用类名.成员名
3.在java语言中虚函数指代的就是抽象方法,抽象方法中不能用private,static, synchronized,native等修饰词修饰。

发表于 2018-10-10 10:07:49 回复(0)
为什么虚函数不能是static成员函数?
static成员函数属于类,没有this指针;
一般情况下,虚函数都是通过基类的指针来实现的,所以一定存在this指针!
发表于 2018-10-06 21:08:18 回复(0)