C++高频考点--静态成员、static关键字

  1. 什么是静态成员?
    静态成员是属于类而不是类的实例的成员。它们在整个类中共享,并且可以在不创建类的实例的情况下访问。
  2. 如何声明静态成员?
    可以使用关键字static来声明静态成员变量和静态成员函数。
    静态成员变量必须在类定义外定义和初始化。
    例如:
class MyClass {
  public:
    static int myStaticVariable;
};

int MyClass::myStaticVariable = 0;
  1. 如何访问静态成员?
    可以使用作用域解析运算符::来访问静态成员。
    例如:
MyClass::myStaticVariable = 42;
  1. 静态成员与非静态成员有什么区别?
    非静态成员属于类的实例,每个实例都有自己的副本。静态成员属于整个类,所有实例共享一个副本。
  2. 静态成员函数有什么特点?
    静态成员函数没有this指针,不能访问非静态成员变量和非静态成员函数。它们只能访问静态成员变量和静态成员函数。
  3. 什么时候使用静态成员?
    静态成员通常用于存储类的全局状态,例如记录所有类实例的数量。它们还可以用于提供共享的功能。例如工厂方法。
  4. static关键字有其他用途吗?
    除了用于声明静态成员之外,static关键字还可以用于局部变量和函数中。在这种情况下,static关键字将使变量或函数在整个程序生命周期内保持其值或可见性。
  5. 静态成员是否可以被继承?
    静态成员可以被继承。子类可以访问父类的静态成员,但是它们也可以定义自己的静态成员。
  6. 静态成员可以被const修饰吗?
    可以。静态成员可以被声明为const,这意味着它们的值不能被更改。
  7. 静态成员是否可以在类中初始化?
    可以在类定义中初始化静态成员变量,但是它们必须是常量表达式。
    例如:
class MyClass {
  public:
    static const int myConstant = 42;
};
  1. 静态成员是否可以被模板化?
    可以。可以在类或函数模板中使用静态成员变量或静态成员函数。
  2. 静态成员如何影响类的大小?
    静态成员变量的大小不计入类的大小,因为它们是共享的。静态成员函数不会影响类的大小,因为它们不存储在类的实例中。
  3. 静态成员可以被friend关键字访问吗?
    可以。友元函数可以访问类的私有成员和静态成员。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值