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, 1076 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) {...};
Ä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 Netzwerk
Domain Master Browsing funktioniert nicht in verschiedenen VLans

Frage von drewsho zum Thema Windows Netzwerk ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Webbrowser
Windows 7 unbeliebte Internetseite sperren (15)

Frage von Daoudi1973 zum Thema Webbrowser ...

ISDN & Analoganschlüsse
gelöst Splitter - RJ45 zu RJ11? (13)

Frage von Waishon zum Thema ISDN & Analoganschlüsse ...

Linux Desktop
KDE Slimbook (11)

Link von Frank zum Thema Linux Desktop ...

LAN, WAN, Wireless
gelöst Suche Firmware Image für Cisco Aironet 1252 (10)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...