我想使用我的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
{
};
答案 0 :(得分:2)
声明它public
,所以外国类可以访问它。
class Page
{
string str;
vector<string>::iterator it;
public:
void onPage(vector<string>vec);
};
(您可以使用public
,private
和protected
来控制对类成员的访问,确保全部读取它们。private
是类的默认设置)
答案 1 :(得分:1)
是的,你可以。我可以看到的问题是你没有将void onPage(vector<string>vec);
函数声明为public(在函数之前放置public:
),因为类成员在C ++中是private
(对其他类隐藏)默认值。