在另一个文件中使用另一个类的变量

时间:2015-04-12 22:30:18

标签: c++ class global-variables

我的问题是在另一个文件中使用一个类的变量。

我在Mabbs Input.h中有一个类,如下所示:

class fileParameters{
public:
     static int numImageRows;
     static int imageRowLength;

private:
    int numRows=0;    
};

int numImageRows = 640;
int imageRowLength = 480;

我想在名为Image Centering.cpp的单独文件中使用变量numImageRows和imageRowLength。我知道我需要将它放在标题Image Centering.h中,我已经完成了。

这是我在Image Centering.h中的代码:

class imageCenteringParameters{

public:
   static int numImageRows;
   static int imageRowLength;


private:
    int imageArray[numImageRows][imageRowLength];

};

我有两个问题:

a。)这是否是确保我可以在任何其他文件中使用Mabbs Input.h中类fileParameters中的变量的正确方法?如果是这样,是否有更好/更有效的方式?如果没有,我将如何解决这个问题,以及从中学到什么的好网站?

b。)它表示imageArray中的字段必须具有恒定的大小。我认为他们会在Mabbs Input.h中声明它们。我将如何解决这个问题,但更重要的是,这意味着什么呢?

1 个答案:

答案 0 :(得分:1)

  1. 可以扩展C ++中的类,创建保留基类特征的新类。此过程称为继承,涉及基类和派生类:派生类继承基类的成员,在其基础上可以添加自己的成员。
  2. 在派生类中声明了两个类的继承关系。派生类定义使用以下语法:

    class derived_class_name: public base_class_name
    { /*...*/ };
    
    1. const限定符显式地将数据对象声明为无法更改的内容。其值在初始化时设置。您不能在需要可修改左值的表达式中使用const数据对象。例如,const数据对象不能出现在赋值语句的左侧。
    2. 使用const类型限定符的变量定义使用以下语法:

      const type variable_name = initial_and_only_value;

      进一步阅读making a constant array in C++.