下列描述错误的是( ) A. 在创建对象前,静态成员不存在 B. 静态成员是类的成员 C. 静态成员不能是虚函数 D. 静态成员函数不能直接访问非静态成员
因此,直接从静态函数中调用非静态函数是不被允许的,因为非静态函数需要一个类的实例才能被调用。 如果需要从静态函数中调用非静态函数,可以通过创建一个类的实例,然后通过该实例来调用非静态函数。例如: 代码语言:cpp 复制 classMyClass{public:voidnonStaticFunction(){// do something}staticvoidstaticFunction(){My...
所以就是说静态成员函数没有对象也可调用。 一、静态成员变量 类的静态成员变量是直接与类联系,属于类的成员而不是对象,供所有对象共享,存放于全局区,因而不计入类的内存计算。静态成员变量可以通过类直接访问。 (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. 静态成员函数内可以直接访问类的静态成员数据 相关知识点: ...
在静态成员函数中不能直接引用类的非静态成员 D. 使用类名可以直接调用其静态成员函数 2 以下关于静态成员函数的叙述不正确的是( )A. 静态成员函数属于整个类 B. 对静态成员函数的引用允许使用对象名C. 在静态成员函数中不能直接引用类的非静态成员D. 使用类名可以直接调用其静态成员函数 3以下关于静态成员...
百度试题 结果1 题目定义静态成员函数的主要目的是 A.方便调用B.有利于数据隐蔽C.处理类的静态成员变量D.便于继承 相关知识点: 试题来源: 解析 C [解析] 静态成员函数可以直接访问类的静态数据成员,但不能访问类的非静态成员,故正确答案为C项。反馈 收藏 ...