Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Klass i klass

Postades av 2004-04-18 17:40:23 - Henrik Wigh, i forum c++, Tråden har 5 Kommentarer och lästs av 799 personer

Hej, jag undrar om man kan definiera en klass inuti en annan klass:
Tex:
<code>
class A
{
public:
class B
{
public:
void do_something();
};
};
</code>

Vad kan man vinna på detta?


Svara

Sv: Klass i klass

Postades av 2004-04-18 19:26:46 - Niklas Jansson

Det är ganska ovanligt, men kan ha sin poäng. Det du kan tjäna på det är att B är väldigt starkt bunden till A. Exakta reglerna för hur den klassen fungerar med omvärlden är jag osäker på just nu, men jag har svårt att tänka mig att du behöver använda dig av metoden innan du har lärt dig det.

Primära syftet är att ha en hjälpklass som gör ett jobb åt klassen, men som inte ska användas för något annat, t.ex. en nod i en kö, eller ett s.k. memorychunk i en memorypool.

Men det är helt korrekt C++, om det var det du undrade.


Svara

Sv: Klass i klass

Postades av 2004-04-18 21:27:42 - Henrik Wigh

Ja det var väl ungefär så jag menade, en till fråga om detta... Kan man då göra en hel klass private tex? Och om man deklarerar klassen inom en annan klass, kan jag bara komma åt den då inifrån den klassen som innehåller den andra! Puh vad rörigt det där blev!

Är det vanligt att man gör detta med länkade listor? Eller är det ett krångligt sätt?


Svara

Sv: Klass i klass

Postades av 2004-04-19 09:25:37 - Martin Adrian

Om du deklarerar den inbäddade klassen i "private" delen så kan den bara användas inom huvudklassen.

Förstår dock inte vad inbäddade klasser har med länkade listor att göra. Länkade listor gör man väl med std::list eller std::deque?


Svara

Sv: Klass i klass

Postades av 2004-04-20 08:19:55 - Per Malmén

För så kallade member classes, eller nested classes som de också kallas, som du frågar om gäller de vanliga åtkomstreglerna, dvs. om du deklarerar klassen i private-sektionen blir den endast åtkomlig innifrån klassen (eller dess vänner).

Om man ska implementera en egen länkad lista kan man använda medlemsklasser för noderna i listan.
Som Martin mycket riktigt påpekar är det bättre att använda std::list om man ska ANVÄNDA en länkad lista men om själva meningen är att man ska LÄRA sig principen bör man ju naturligtvis skriva den själv.


Svara

Sv: Klass i klass

Postades av 2004-04-21 17:33:11 - Henrik Wigh

Ja det är lite det jag är ute efter. Har bara gjort länkade listor i C så jag tänkte prova på lite i C++. Tack för era svar!


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 576
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies