gpt4 book ai didi

c++ - 具有子类数组的父类

转载 作者:行者123 更新时间:2023-11-28 04:28:03 28 4
gpt4 key购买 nike

使用 C++,我试图创建一个名为“family”的类。家庭是子类“man”的父类,我试图在家庭类中创建一个“man”数组,但为了做到这一点,我需要在 family.hpp 中包含 man.hpp。但这把事情搞得一团糟……因为现在男人不承认家庭是基础类(Class)。

所以我的问题是:如何在父类中包含子类数组?

提前致谢!

#ifndef Family_hpp
#define Family_hpp
//here I want to include "include "man.hpp"" but this messes up."

class Family {
public:
//functions and constructor

private:
Man** manarray;

};

这是 family_cpp

#include "Family.hpp"
#include "Man.hpp"
#include<iostream>
#include<string>

using namespace std;

Family::Family() {

}

void Family::setMen(int n) {
for (int i = 0; i < n; i++) {
*(manarray+ i + 1) = new man();
}

最佳答案

如果 family.hpp 文件中的 Man 类,您可以添加一个前向声明

//here I want to include "include "man.hpp"" but this messes up."
class Man;

class Family {
...

这告诉编译器 Man 是一个类,而不必完全声明它。这将适用于您的情况,因为(目前)编译器不需要了解有关 Man 的任何其他信息来编译头文件。

关于c++ - 具有子类数组的父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53755366/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com