在C++中为类变量赋值后声明类变量
Declaring class variables after assigning them values in C++
这里有一个名为Shape
的类
class Shape
{
public:
void setWidth(int w)
{
width = w;
}
void setHeight(int h)
{
height = h;
}
protected:
int width;
int height;
};
它编译得很好,但怎么会允许我分配width
和height
值,即使我以前没有声明它们呢?编译器如何在这一点上知道它们是什么?
基本上,该语言的工作方式就好像是一个内联成员函数定义的类,由编译器重写为
class Shape
{
public:
void setWidth(int w);
void setHeight(int h);
protected:
int width;
int height;
};
inline void Shape::setWidth(int w)
{
width = w;
}
inline void Shape::setHeight(int h)
{
height = h;
}
一般来说,这具有很强的解释能力,但请注意:它可能不一定是嵌套类的好模型。
一般意见:
努力提供实用的接口。例如,如果设置形状的宽度或高度会更新其屏幕显示,那么如果我想同时更改两者,则使用将导致两次屏幕更新的当前界面。
不要考虑属性设置器,而是考虑执行或检查的函数,例如,在这种情况下,
resize
函数或函数集。CCD_ 5数据通常不是一个好主意。默认情况下,将其设为
public
或private
,除非您有充分的理由。
在函数中,您需要在使用变量之前声明它。
这对于类变量来说不是必需的。实际上,对于直接在类中定义的变量和函数,顺序根本不重要。有趣的是,类内部定义的类型并非如此。
相关文章:
- 为"adjacent"变量赋值时出现问题
- 为什么我不能在返回 const 的布尔函数中为类成员变量赋值?C++
- c++问题:给一个变量赋值后,另一个变量发生了变化
- 如何在不使用赋值运算符的情况下为动态变量赋值?
- 为什么我不能为变量赋值函数?
- 可视化的c++变量赋值使代码正常工作
- 如何为结构类型变量赋值
- 派生自 std::exception 的类的赋值运算符
- 在结构的构造函数中使用类方法赋值变量
- 使用 boost python 从 c++ 为 python 中的类成员变量赋值
- 为什么类的赋值运算符的返回类型通常是非常量(而不是常量)引用?
- C++:为全局类变量赋值
- 从类外部为类中的变量赋值
- C++ 包含唯一指针成员变量的类的赋值运算符
- 为类中的私有静态变量赋值
- 使用类为变量赋值 (C++)
- 在C++中为类变量赋值后声明类变量
- 为类变量赋值
- visual如何在托管C++类中为静态变量赋值
- 为具有引用成员变量的类创建赋值操作符