Forum poświęcone PHP
Mam taki kod: class A { }; class B : public A { }; Czy da się zrobić tak, aby w programie nie można było utworzyć obiektu klasy A?
Sun,04 Jan 2009 01:42:01 +0100
witam mam banalny problem ale jakos nie potrafie sobie z nim poradzic [glowa] [wstyd] chodzi o to, ze w programie mam wyszukiwanie w czasie rzeczywistym: jak tylko zaczynam cos wpisywac do edita to wyszukiwane sa odp rzeczy. problem w tym, ze jesli wyszukiwanie trwa a ja cos zmienie w edicie to wyszukiwanie ma zostac przerwane a nast rozpoczete na nowo. no i wlasnie z tym mam problem, z zatrzymaniem i jednoczesnym rozpoczeciem nowego. help [glowa] dzieki z gory
Sun,04 Jan 2009 01:23:45 +0100
Witam :) Chciałbym prosić o pomoc w rozpracowaniu kodu programu. Jest to saper napisany poprzez tablice dwuwymiarowe, których wartości ja zdefiniowane globalnie. Program znalazłem w zwykłym C i przerobiłem go na polskie określenia oraz na język c++. Powyrzucałem też nieco zbędnych linijek kodów zastępując łatwiejszymi rozwiązaniami oraz wprowadziłem generator losowych bomb ;) Generalnie rzecz biorąc rozumiem co nieco funkcji, ale chciałbym się upewnić co do moich domysłów. #include "stdafx.h" #include #include #include #include using namespace std; const int lw=7; const int lk=7; const int lb=1; int tab_bomb[lw][lk]; int tab_krycie[lw][lk]; int otoczenie_bomb[lw][lk]; int pozostale_pola; int Zaleznosc(int wiersz, int kolumna) //do sprawdzenia poprawnosci wprowadzonych wspolrzednych { return wiersz>=0 && wiersz=0 && kolumna
Sun,04 Jan 2009 01:14:49 +0100
Mam mały problem, tworzę dynamicznie tablice dwuwymiarowa char i chcę do niej wpisywać wyrazy gdzie w każdym wierszu będzie inny, a gdy wcisnę 0 to się wpisywanie zakończy. Ilości wyrazów jakie zostaną wpisane do tablicy nie znam więc używam zmiennej ilosc_wyrazow jako licznika ich. I mój problem jest następujący nie wiem gdzie wsadzić licznik wyrazów aby je zliczał oraz aby dobrze się tekst kopiował do tablicy dwuwymiarowej z tablicy pomocniczej. #define DLUGOSC_WIERSZA 50 int ilosc_wyrazow = 1 ; char tab_pomocnicza[50] ; tablica = (char**)malloc(DLUGOSC_WIERSZA * sizeof(char*)); for(i = 0; i < DLUGOSC_WIERSZA; ++i) { tablica[i] = (char*)malloc(ilosc_wyrazow * sizeof(char)); scanf("%s", tab_pomocnicza) ; if(tab_pomocnicza[0] == '0') { break ; } strcpy(tablica[i], tab_pomocnicza) ; } Jak narazie doszedłem do tego i kod mi wybucha, w grę wchodzi tylko ANSI C
Sun,04 Jan 2009 01:12:31 +0100
Problem to pewnie wina złych pomysłów... Ale w skrócie, mam klasę bazową będącą teoretycznie robolem oraz klase niby interfejsu wyższego poziomu. Obie te klasy to szablony. Trudno opisać cały ten bałagan, w każdym razie kod przykładowy wygląda tak: template class BaseW { protected: T work(T a, T b) { /*tu żyją smoki*/}; public: BaseW(){/*tu składają jaja smoki*/}; ~BaseW(){/*tu giną smoki*/}; } template Class WHorse: private BaseW { protected: typedef T (BaseW::*wrk)(T,T); map workers; public: WHorse() { workers['a']=BaseW::work; //
Sun,04 Jan 2009 00:00:25 +0100
Rozdział 12. Zmienne
Podstawy
Każdą zmienną w PHP zapisuje się, poprzedzając jej nazwę znakiem dolara "$". Wielkość liter w nazwie zmiennej jest rozróżniana.
Nazw zmiennych dotyczą te same reguły, co innych rodzajów nazw w PHP. Poprawna nazwa zmiennej zaczyna się od litery lub znaku podkreślenia "_", po których może wystąpić dowolna ilość liter, cyfr lub znaków podkreślenia. Jako wyrażenie regularne, można to zapisać tak: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
Notatka: W naszym rozumieniu, litery to znaki a-z, A-Z i symbole ASCII od 127 do 255 (0x7f-0xff).
$var = "Bob"; |
W PHP 3, przypisanie zmiennych jest możliwe tylko przez wartość. Innymi słowy, jeśli przypiszesz do zmiennej jakieś wyrażenie, wartość tego wyrażenia zostanie skopiowana do zmiennej. Oznacza to, że po przypisaniu wartości jednej zmiennej do drugiej, późniejsza zmiana wartości jednej z nich nie spowoduje zmiany wartości drugiej. Więcej informacji na ten temat w rozdziale Wyrażenia.
PHP 4 oferuje jeszcze jeden sposób przypisywania wartości do zmiennych: przypisanie przez referencję. Oznacza to, że nowa zmienna tylko odnosi się (innymi słowy, "staje się aliasem" lub "wskazuje na") do pierwotnej zmiennej. Zmiany wykonane na nowej zmiennej oddziałują także na pierwotną zmienną i vice versa. Ma to też takie znaczenie, że nie następuje żadna operacja skopiowania, czyli przypisanie następuje szybciej. Jednakże wyraźne przyspieszenie działania może być widoczne tylko w pętlach zwartych (ang. tight loops), lub przy przypisywaniu dużych tablic lub obiektów.
Aby przypisać przez referencję, postaw znak ampersand (&) przed nazwą zmiennej przypisywanej (zmiennej od której pobierasz wartość). Na przykład poniższy kod wyświetla "To jest PHP" dwa razy:
<?php |
Należy pamiętać, że tylko wyrażenia posiadające nazwę mogą być przypisane przez referencję.
| Poprzedni | Spis treści | Następny |
| Wykorzystywanie typów danych | Początek rozdziału | Zmienne predefiniowane |