Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

(C++ CLI) Array aus verschiedenen abgeleiteten Objekten

Frage Entwicklung Visual Studio

Mitglied: Darkprodukt

Darkprodukt (Level 1) - Jetzt verbinden

08.08.2014, aktualisiert 14:06 Uhr, 1061 Aufrufe

Guten Tag,

ich versuche gerade ein kleines Spiel, aus weiterbildungs Gründen zu entwickeln.

In diesem Spiel gibt es verschiedenen Gebäude. Jedes Gebäude hat ein Objekt, das
auf einer abstrakten Klasse aufbaut. Hier ein Beipsiel:

buildings.h
01.
#pragma once 
02.
 
03.
using namespace System; 
04.
 
05.
public ref class BaseBuilding abstract 
06.
07.
	protected: 
08.
		System::String^ _buildingName; 
09.
		bool _consumable; 
10.
 
11.
	public: 
12.
		System::String^ GetBuildingName(); 
13.
		bool IsBuildingConsumeable(); 
14.
 
15.
}; 
16.
 
17.
public ref class Quarry : public BaseBuilding 
18.
19.
	public:  
20.
		Quarry(); 
21.
};
buildings.cpp
01.
#include "Game.h" 
02.
#include "StdAfx.h" 
03.
 
04.
System::String^ BaseBuilding::GetBuildingName() 
05.
06.
	return _buildingName; 
07.
08.
 
09.
bool BaseBuilding::IsBuildingConsumeable() 
10.
11.
	return _consumable; 
12.
13.
 
14.
Quarry::Quarry() 
15.
16.
	_buildingName = L"Quarry"; 
17.
	_consumable = false; 
18.
	 
19.
}
Es gibt natürlich noch mehr Gebäude und mehr funktionen etc.

Mein Frage: Ist sowas möglich?
01.
array<Buildings^>^ buildings = {gcnew Quarry(), gcnew Farm(), gcnew Woodcutter()};  
02.
 
03.
System::String^ str = buildings[0]->GetBuildingName();
Also die Objekte der verschiedenen gebäude in einem Array zu verwalten.
Ich würde ungern eine if abfrage machen, ob auf dem feld jetzt das Gebäude, oder das Gebäude, oder... steht.
Vorallem deshalb, da wenn ich ein neues Gebäude hinzufügen möchte. Ich nicht nur eien neue Klasse schreiben muss, sondern eben auch
jede dieser abfragen verändern.

Ich hab schon etwas gesucht und nur array<Object^>^ gefunden, aber da keinen weg auf die funktionen in dem enthaltenden Objekt zu zugreifen.

Edit 1:
So wie in dem Artikel:
http://de.wikipedia.org/wiki/Abstrakte_Klasse
Unter E:
01.
public static double berechneGesamtFlaeche(final Geometrisch[] f) {...};
Neuester Wissensbeitrag
DSL, VDSL

Telekom versendet automatische Kündigungen

(4)

Erfahrungsbericht von Voiper zum Thema DSL, VDSL ...

Ähnliche Inhalte
SAN, NAS, DAS
CLI Cable HP 2012fc sc modular smart array oder serielles Kabel (8)

Frage von Dominik-EUNES zum Thema SAN, NAS, DAS ...

Windows 7
gelöst Outlook Cache Mode auf verschiedenen Geräte (5)

Frage von manuwj zum Thema Windows 7 ...

Monitoring
CLI D-Link DGS 3000 (8)

Frage von fuddel18 zum Thema Monitoring ...

Batch & Shell
Powershell Import Computer aus csv in array und Befehl abarbeiten (4)

Frage von Robbi666 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...

Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...