我不太明白应该如何注册类组?普通类很清楚,但是我不明白如何制作一个类组(一个类的对象可以向自己添加其他对象),帮帮我,我是c ++的新手。
这是类层次结构:师,第一,第二-“组类”,您需要能够将士兵类对象添加到组类对象中。
在类组中,仅注册了头文件Division.h
程序代码:
对象.h:
class Object
{
public:
virtual void Show()=0;
};
人.h:
#pragma once
#include "Object.h"
#include <iostream>
#include <cstring>
using namespace std;
class Person : public Object
{
protected:
string name;
public:
Person();
Person(string name);
~Person();
virtual void show();
};
士兵.h
#pragma once
#include "Person.h"
class Soldier : protected Person
{
public:
Soldier(string Name);
~Soldier();
void show();
};
士兵.cpp:
#include "Soldier.h"
void Soldier::show()
{
cout << "Soldier: " << name << endl;
}
Soldier::Soldier(string Name)
{
name = Name;
}
Soldier::~Soldier()
{
}
师.h:
#pragma once
#include "Object.h"
#include "Person.h"
struct List
{
Object* List;
List* next;
};
class Division : public Object
{
protected:
string name;
Person* head;
List* begin;
public:
Division(string, Division*);
Division(Division&);
~Division();
Person* GetHead();
void SetName(string Name);
void SetHead(Person* p);
void Insert(Object* p);
virtual void Show() = 0;
};

你可以这样做:
Show在类中定义方法并在其中Division添加一个新的抽象方法来build填充Division,并在派生类中定义它,改变填充逻辑。