我想实现一个类“class_B”,它包含指向另一个类“class_A”实例的指针,以便它也可以访问其成员函数。但是,我不知道如何实现这一点。您可以在下面找到我的最小工作示例。你能告诉我我做错了什么吗?
#include <iostream>
class Class_A
{
public:
int number_;
// Here we define the constructor for "Class_A".
Class_A(int a)
{
number_ = a;
}
void printNumber()
{
std::cout << "The value in Class_A is " << number_ << std::endl;
}
};
class Class_B
{
public:
Class_A* class_A_instance;
// Here we define the constructor for "Class_B".
Class_B(int b)
{
class_A_instance = Class_A(b);
}
};
int main()
{
Class_B class_B_instance(3);
class_B_instance::class_A_instance::printNumber();
return 0;
}
我认为你想用 new 初始化堆上的 classA 实例。然后调用非静态成员类a的实例b类的实例:
#include <iostream>
class Class_A
{
public:
int number_;
// Here we define the constructor for "Class_A".
Class_A(int a)
{
number_ = a;
}
void printNumber()
{
std::cout << "The value in Class_A is " << number_ << std::endl;
}
};
class Class_B
{
public:
Class_A* class_A_instance;
// Here we define the constructor for "Class_B".
Class_B(int b)
{
class_A_instance = new Class_A(b);
}
};
int main()
{
Class_B class_B_instance(3);
class_B_instance.class_A_instance->printNumber();
return 0;
}