Skocz do zawartości
Zamknięcie Forum PC LAB

Szanowny Użytkowniku,

Informujemy, że za 30 dni tj. 30 listopada 2024 r. serwis internetowy Forum PC LAB zostanie zamknięty.

Administrator Serwisu Forum PC LAB - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie: wypowiada całość usług Serwisu Forum PC LAB z zachowaniem miesięcznego okresu wypowiedzenia.

Administrator Serwisu Forum PC LAB informuje, że:

  1. Z dniem 29 listopada 2024 r. zakończy się świadczenie wszystkich usług Serwisu Forum PC LAB. Ważną przyczyną uzasadniającą wypowiedzenie jest zamknięcie Serwisu Forum PC LAB
  2. Dotychczas zamowione przez Użytkownika usługi Serwisu Forum PC LAB będą świadczone w okresie wypowiedzenia tj. do dnia 29 listopada 2024 r.
  3. Po ogłoszeniu zamknięcia Serwisu Forum od dnia 30 października 2024 r. zakładanie nowych kont w serwisie Forum PC LAB nie będzie możliwe
  4. Wraz z zamknięciem Serwisu Forum PC LAB, tj. dnia 29 listopada 2024 r. nie będzie już dostępny katalog treści Forum PC LAB. Do tego czasu Użytkownicy Forum PC LAB mają dostęp do swoich treści w zakładce "Profil", gdzie mają możliwość ich skopiowania lub archiwizowania w formie screenshotów.
  5. Administrator danych osobowych Użytkowników - Ringier Axel Springer Polska sp. z o.o. z siedzibą w Warszawie zapewnia realizację praw podmiotów danych osobowych przez cały okres świadczenia usług Serwisu Forum PC LAB. Szczegółowe informacje znajdziesz w Polityce Prywatności

Administrator informuje, iż wraz z zamknięciem Serwisu Forum PC LAB, dane osobowe Użytkowników Serwisu Forum PC LAB zostaną trwale usunięte ze względu na brak podstawy ich dalszego przetwarzania. Proces trwałego usuwania danych z kopii zapasowych może przekroczyć termin zamknięcia Forum PC LAB o kilka miesięcy. Wyjątek może stanowić przetwarzanie danych użytkownika do czasu zakończenia toczących się postepowań.

Temat został przeniesiony do archiwum

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

bartek161616

Podstawy fizyki w grach komputerowych

Rekomendowane odpowiedzi

Na 99% problem z wskaźnikami, choć da się też w inny sposób osiągnąć taki efekt =] Zakomentuj wszystko co masz w main, i daj tam kod który tylko tworzy tą klase (najlepiej statycznie) i sprawdź czy dalej tak się dzieje.

 

Dałem kod tworzący klasę w jednym pliku main.cpp. Nadal to samo. Konstruktor przypisuje parametr do pola i to pola ma taką wartość a reszta jakieś dziwne liczby. Hmmm...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie wiem czy to do konca zgodne ze sztuka c++, ale zawsze masz memset do dyspozycji.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Nie wiem czy to do konca zgodne ze sztuka c++, ale zawsze masz memset do dyspozycji.

Jednak wolałbym to rozwiązać tradycyjnie. Spróbuję zamiast statycznie to dynamicznie klasę wywołać.

 

No i dynamicznie poszło tak jak było planowane. A dlaczego statycznie się p**przy ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Pokaż kod tej klasy (albo wrzuć na pastebin jak jest duży) i tego jak ją wywołujesz w mainie statycznie. Nie powinno tak być i najprawdopodobniej to wynika z twojego jakieś dziwnego błędu. Stos też można w c++ zepsuć =]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Kod klasy jest prosty:

class CPoint
{
  public:

  float V_x,V_y; //velocity
  float F_x,F_y; //force
  float a_x,a_y; //acceleration
  float d_x,d_y; //drag
  float m;	   //mass



  CPoint(float mass) { m=mass; }; //constructor
  ~CPoint() {};
  };

 

 

A oto jak ją wywołuje statycznie:

 

CPoint ludzik(4);

		   printf("F_x: %f, F_y: %f \n",ludzik.F_x,ludzik.F_y);  //tu wypisuję wartości pól 
		   printf("a_x: %f, a_y: %f \n",ludzik.a_x,ludzik.a_y);
		   printf("V_x: %f, V_y: %f \n",ludzik.V_x,ludzik.V_y);
		   printf("d_x: %f, d_y: %f \n",ludzik.d_x,ludzik.d_y);
		   printf("m: %f \n",ludzik.m);

 

 

 

Bardzo możliwe jest, że popełniłem bardzo błachy błąd.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

float zmienna = 0;

 

?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
float zmienna = 0;

 

?

 

A miałem wrażenie, że pola domyślnie mają taką wartość.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Otoz nie. W takim przypadku pamiec jest tylko oznaczona, ze moze byc wykorzystana przez dana zmienna, i tylko tyle. Trzeba ja samemu wyczyscic.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Otoz nie. W takim przypadku pamiec jest tylko oznaczona, ze moze byc wykorzystana przez dana zmienna, i tylko tyle. Trzeba ja samemu wyczyscic.

 

Aha. Dzięki.

 

Jest następny problem :) Sposób z biblioteką ctime daje mi czas w sekundach. Taki format chyba mi nie wystarczy. Jak liczyć czas w milisekundach ?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Ostatnio przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...