下列描述错误的是( ) A. 在创建对象前,静态成员不存在 B. 静态成员是类的成员 C. 静态成员不能是虚函数 D. 静态成员函数不能直接访问非静态成员
在C++中,静态函数是属于类或者说是属于命名空间的,而非静态函数则是属于类的实例。因此,直接从静态函数中调用非静态函数是不被允许的,因为非静态函数需要一个类的实例才能被调用。 如果需要从静态函数中调...
所以就是说静态成员函数没有对象也可调用。 一、静态成员变量 类的静态成员变量是直接与类联系,属于类的成员而不是对象,供所有对象共享,存放于全局区,因而不计入类的内存计算。静态成员变量可以通过类直接访问。 (1)静态成员变量的初始化 静态成员不属于类的任何对象,所以并不是对象建立时被定义的,所以它不能由类...
2.非静态成员函数可以任意地访问静态成员函数和静态数据成员; 3.静态成员函数不能访问非静态成员函数和非静态数据成员; 4.调用静态成员函数,可以用成员访问操作符(.)和(->)为一个类的对象或指向类对象的指针调用静态成员函数,也可以用类名::函数名调用(因为他本来就是属于类的,用类名调用很正常) 前三点其实是...
而 静态成员函数 可以在 不创建 实例对象的前提下被调用 , 因此 静态成员函数中 不能访问 非静态成员 ; 如果在静态成员函数中 , 访问非静态成员 , 会报如下错误 : 1>---已启动生成:项目:HelloWorld,配置:Debug Win32---1>Hello.cpp1>Y:\002_WorkSpace\002_VS\HelloWorld\HelloWorld\Hello.cpp(22,3):er...
staticintdata;//静态成员变量(类内声明) public: //普通成员函数 依赖于 对象的 必须对象调用 intgetData(void) { returndata; } }; //定义的时候 不需要加static intData::data=100;//类外定义+初始化 intmain() { //cout<<Data::data<<endl;//err 静态data是私有的 类外不能直接访问 ...
以下叙述中不正确的是 A.一个类的友元函数可以无条件的使用这个类的私有成员B.静态成员函数可以直接访问非静态数据成员C.不可以声明抽象类的对象,但可以声明抽象类的指针变量D.静态数据成员为类的所有对象所共有 相关知识点: 试题来源: 解析 B [解析] 静态成员函数不能直接访问非静态数据成员。静态成员只有一...
静态成员可分为静态数据成员和静态成员函数;静态数据成员被定义后,必须对它进行初始化,初始化在类体外进行,一般放在该类的实现部分最合适,也可以放在其他位置,例如,放在主函数前面等;静态数据成员初始化与该类的构造函数和析构函数无关;在静态成员函数的实现中,可以直接引用静态成员,但不能直接引用非静态成员。 7:...
2) 下面说法哪个不正确?? A) 静态成员函数内部不能访问同类的非静态成员变量,也不能调用同类的非静态成员函数D) 在没有任何对象存在的情况下,也可以访问类的静态成员C
下面关于类的成员函数描述不正确的是()。 A. 非静态成员函数可以直接访问类的非静态成员数据 B. 非静态成员函数可以直接访问类的静态成员数据 C. 静态成员函数内可以直接访问类的非静态成员数据 D. 静态成员函数内可以直接访问类的静态成员数据 相关知识点: ...