【问题标题】:can data members got assigned inside class difinition in C++?可以在 C++ 中的类定义中分配数据成员吗?
【发布时间】:2023-01-22 21:08:06
【问题描述】:

我在 lynda 的旧课程中遇到了这段代码(现在正在学习 linkedin)

class Class1 {
const int i = 0;
public:
      //void setvalue( const int value ) { i = value; }
     int getvalue()  const { return i; }
};

类定义中赋值 (=) 运算符的含义是什么?

【问题讨论】:

  • 它正在将 const 成员 i 初始化为值 0
  • 由于 setvalue 函数,该代码无法编译。 const 成员无法修改。
  • @RetiredNinja 是的,你是对的。如果我们评论 setvalue() 它将编译,但我的意思是在类定义中为数据成员赋值是什么意思?
  • 这意味着显示的代码已损坏,甚至无法编译。您不会通过随意阅读小丑的博客或网站,或随意观看 Youtube 视频来学习 C++。任何小丑都可以发布网站或将视频上传到 Youtube,即使我也能做到。就核心 C++ 基础知识而言,了解一切含义的最佳地点是一本优秀的 C++ 教科书。不幸的是,Stackoverflow 不能很好地替代教科书。
  • 它为创建此类的对象时分配初始值。不过,强烈建议您获得一本好的 C++ 书籍。会有更多的问题来自哪里。

标签: c++ class


【解决方案1】:

上述行将变量 m 初始化为值 0。 是的,这是完全有效的陈述。事实上,它被称为类内成员初始化,并且推荐使用基于构造函数的初始化。

【讨论】:

    猜你喜欢
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-26
    • 2016-05-08
    • 2020-10-25
    • 1970-01-01
    相关资源
    最近更新 更多