从其他类调用函数

时间:2012-02-02 23:32:58

标签: c++ class associations

我想使用我的Page类中的函数,但我不想继承它。有没有其他方法可以在onPage(vector<string> vec)element中使用elementX函数而不使用继承?关联是否有效?我在想。

代码如下:

class Page
{
    string str;
    vector<string>::iterator it;

    void onPage(vector<string>vec);
};

class element
{
    Page p;
};

class elementX : public element
{
};

2 个答案:

答案 0 :(得分:2)

声明它public,所以外国类可以访问它。

class Page
{

   string str;
   vector<string>::iterator it;

 public:
   void onPage(vector<string>vec);


};

(您可以使用publicprivateprotected来控制对类成员的访问,确保全部读取它们。private是类的默认设置)

答案 1 :(得分:1)

是的,你可以。我可以看到的问题是你没有将void onPage(vector<string>vec);函数声明为public(在函数之前放置public:),因为类成员在C ++中是private(对其他类隐藏)默认值。