Přístup ke třídě – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Přístup ke třídě – C / C++ – Fórum – Programujte.comPřístup ke třídě – C / C++ – Fórum – Programujte.com

 

Tom
~ Anonymní uživatel
434 příspěvků
10. 12. 2012   #1
-
0
-

Zdravím, mám dotaz ohledně přístupu ke třídě

Jedná se o to že chci přistupovat ke třídě přes jinou třídu. Ta třída ke které chci přistoupit obsahuje 2 deklarace typu double které pak používám v té další třídě. Jenže nevím jak je poté použít. Jelikož když je chci použít píše to "no suitable constructor exists to convert from double to název ty tridy". Zkoušel jsem si na to udělat funkci, ale stejně to také nešlo, protože to vlastně chce jenom jeden vstupní parametr, přičemž sou ty doubly 2

Nahlásit jako SPAM
IP: 89.177.162.–
liborb
~ Redaktor
+18
Guru
10. 12. 2012   #2
-
0
-

A nějaký příklad, na kterém by si demonstroval, o co se snažíš, by nebyl?

Nahlásit jako SPAM
IP: 188.75.135.–
Tom
~ Anonymní uživatel
434 příspěvků
10. 12. 2012   #3
-
0
-

#2 liborb
byl mám tuhle třídu 

typedef struct gps{
double latit,longit;
}tGPS;

pak tuto třidu

#include "gps.h"

typedef struct pamatka{
char pamatka[21];
tGPS gps;
struct pamatka *dalsi;
}tPamatka;

a pak například funkci 

tPamatka *VytvorPamatku(char *pamatka, tGPS gps); do tyhle funkce mi to bere nazev ty pamatky a potrebuju tam jeste nacist 2 souradnice(ty 2 doubly v tom gps) ale nevím za boha jak

Nahlásit jako SPAM
IP: 89.177.162.–
liborb
~ Redaktor
+18
Guru
10. 12. 2012   #4
-
0
-

gps.latit

gps.longit

tpamatka.gps.latit

tpamatka.gps.longit

Nahlásit jako SPAM
IP: 188.75.135.–
Tom
~ Anonymní uživatel
434 příspěvků
10. 12. 2012   #5
-
0
-

#4 liborb
a když to chci použít v tý funkci? když je pouze jeden vstupní parametr?

Nahlásit jako SPAM
IP: 89.177.162.–
liborb
~ Redaktor
+18
Guru
10. 12. 2012   #6
-
0
-

Jako něco takového?

tPamatka* VytvorPamatku(char *pamatka, tGPS gps)
{
	tPamatka* tpam = (tPamatka*)malloc(sizeof(tPamatka));	

	strcpy(tpam->pamatka, pamatka);

	tpam->gps.latit  = gps.latit;
	tpam->gps.longit = gps.longit;
	tpam->dalsi      = NULL;

	return(tpam)
}
Nahlásit jako SPAM
IP: 188.75.135.–
Tom
~ Anonymní uživatel
434 příspěvků
10. 12. 2012   #7
-
0
-

#6 liborb
Jj tohle mám ale pak mám jeste seznamPamatek.c kde vlastne tuto funkci používám takze mam nejaky hodnoty a VytvorPamatku(nazevPamatky,...) a misto tech tecek nevim jak dal ze tam mi to hazi chybu stim konstruktorem protoze tam mám 2 hodnoty

Nahlásit jako SPAM
IP: 89.177.162.–
liborb
~ Redaktor
+18
Guru
10. 12. 2012   #8
-
+1
-
Zajímavé

 Něco takového?

tGPS gps = {lat, long}

tPamatka* tpam = VytvorPamatku("Karlstejn", gps);

Nahlásit jako SPAM
IP: 188.75.135.–
Tom
~ Anonymní uživatel
434 příspěvků
10. 12. 2012   #9
-
0
-

#8 liborb
ano, ale oboji mám právě v cyklu a když si to deklaruju mimo cyklus tak mi to v cyklu haze chybu :(

Nahlásit jako SPAM
IP: 89.177.162.–
liborb
~ Redaktor
+18
Guru
10. 12. 2012   #10
-
0
-

Opět to bude chtít ukázat ten problematický kus kódu.

Zasláno z mobilního telefonu.

Nahlásit jako SPAM
IP: 82.145.211.–
Tom
~ Anonymní uživatel
434 příspěvků
11. 12. 2012   #11
-
0
-

mám deklarovany 

double vysledek1,vysledek2;

tGPS gps;

mám nějakej cyklus dejme tomu

for(i=0;i<pocet;i++)

{

tady pak vybírám vysledky a nazev z textovyho souboru a na konci je přiřazuju do vysledek1 a vysledek2

gps = {vysledek1, vysledek2}; (u ty prvni zavorky mi to haze chybu)

a chci to přidat do seznamku pamatek

VytvorPamatku(nazevPamatky,gps); (a tady taky chyba u gps)

}

Nahlásit jako SPAM
IP: 89.177.162.–
KIIV
~ Moderátor
+43
God of flame
11. 12. 2012   #12
-
0
-

gps = {vysledek1, vysledek2};      jde mozna pouzit jen kdyz to mas jako inicializaci promenne ... zkus nejprve:

tGPS gps = {vysledek1, vysledek2};

pripadne nastavit jednotlive polozky zvlast... tj gps.latit = vysledek1; ...

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Tom
~ Anonymní uživatel
434 příspěvků
11. 12. 2012   #13
-
0
-

#12 KIIV
zkusil sem to takhle a už mi to vyhazuje jen 1 chybu, error C2011 'gps' : 'struct' type redefinition

Nahlásit jako SPAM
IP: 78.128.151.–
KIIV
~ Moderátor
+43
God of flame
11. 12. 2012   #14
-
0
-

no snad tomu nevadi ten:    typedef struct gps {}   a    tGPS gps; ... (ale to strilim jen tak od boku)

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Tom
~ Anonymní uživatel
434 příspěvků
11. 12. 2012   #15
-
0
-

#14 KIIV
tím to není

Nahlásit jako SPAM
IP: 89.177.162.–
Tom
~ Anonymní uživatel
434 příspěvků
11. 12. 2012   #16
-
0
-

dobrý tenhle problém sem už vyřešil :)

Nahlásit jako SPAM
IP: 89.177.162.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 141 hostů

Podobná vlákna

String ve třídě — založil eidam1995

Třída ve třídě, C++ — založil Luu

WinProc ve třídě — založil ingiraxo

Funkce ve třídě — založil twigl

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý