Private și Protejate Membrii : C++



Poate cineva sa ma lumineze cu privire la diferența între "privat" și "protejată" de membri în clase?


Am înțeles de la cele mai bune practici convenții de variabile și funcții care nu sunt numite în afara clasei ar trebui să fie făcut "privat" - dar uitându-se la mine **MFC** proiect **MFC** pare să favorizeze "protejată".


Ce's diferența și care ar trebui să folosesc?
Membrii privați sunt accesibile doar în cadrul clasei definirea ei.


Protejate membrii sunt accesibile în clasa pe care le definește și în clasele care moștenesc de la clasa respectivă.


Edit: Ambele sunt, de asemenea, accesibil de prieteni din clasa lor, iar în cazul protejate de membri, de prietenii lor de clasele derivate.


Edit 2: Utilizați orice are sens în contextul problema ta. Ar trebui să încercați să facă membrii private ori de câte ori poți să reducă cuplare și de a proteja punerea în aplicare a clasei de bază, dar dacă asta's nu este posibil a folosi apoi protejate de membri. Verifica [C++ FAQ](https://isocpp.org/wiki/faq/basics-of-inheritance) pentru o mai bună înțelegere a problemei. [Această întrebare despre protejate variabile](https://stackoverflow.com/questions/37011/protected-member-variables) s-ar putea, de asemenea, de ajutor.
uite cu hamachi:
http://www.tutoit.com/ghid-metin2-cum-fac-un-server-privat-de-metin2/
fara hamachi:
http://www.tutoit.com/ghid-metin2-cum-sa-faci-server-privat-de-metin2-fara-hamachi/#
+ai grija tw (team viewer) poate fii folosit ca keylogger,daca ai scris ceva, in timpu cand a fost el la tine, poate sa afle ce:)
salut informațiile tale sunt mult mai sigure la steam decât pe majoritatea site urilor. acestea criptează chiar și copii de siguranță ale utilizatorilor, informații personale, etc.
chiar dacă ti-as sparge contul de steam, informațiile despre cardul de credit nu sunt vizibile deloc pentru mine. numai ultimele două numere pot fi văzute. pachetele de găzduire partajate (shared) sunt standard, nu pot fi personalizate. furniză, însă planuri personalizate vps, în această privință fiind creat configuratorul de pe pagina cu ofertele vps bai fratilor! c++ nu trebuie sa stii neaparat html si java
c++ este un soft cu acre poti face programe. de exemplu power point e facut cu c++ cu tot cu interfata.
ce sa inveti. si eu sunt pasionat de programare, dorinta e mare.
cu ce te ajuta programarea? ai sanse mai amri sa te angajezi undeva in softwere. depozite de calculatoare sau magazine. sau la un institut de programari. faci programe.
cartea de c++ are in jur de 6-700 de pagini si e complexa. ceea ce ti.ar lua vreo 2 ani sa il cunosti si tot nu ai descoperi complet.

eu iti recomand visual basic. este fratele mai mic a lui c++
mai pe romaneste c++ este un cod
ia visual basic de pe net, varianta 2008 mai precis. e mai bun/
apoi fugi la biblioteca si ia cartea de visual basic 2008.
acolo gasesti instructiuni cum sa faci un program si cum sa programezi.
e mai usor de 10 ori ca c++ si il inveti repede. apoi cand ai invatat asta poti invata si c++ mai repede. o sa ai cunostiintele necesare de programare.
cand te apuci de visual basic trebuie sa stii ce vrei sa faca acel program pe care tu vrei sa il construesti.
tu nu trebuie decat sa respecti cartea.
asta e recomandarea mea. 
bafta. pai, nu indeplineste aceleasi functii. pe cel intern se afla fisierele sistemului, programelor, etc. care sunt solicitate in permanenta, iar pe cel extern solicitarile sunt facute manual de catre tine.
poti instala ce vrei pe ssd-ul extern, insa, tine mine!, unele programe sunt dependente de sistemul si fisierele din sistemul pe care au fost instalate, adica ele nu pun fisiere numai in locatiile cunoscute, ci stocheaza setari, preferinte, etc. si in alte locatii precum appdata si mai rar in folderul-mama, iar, de altfel, majoritatea jocurilor necesita anumite librarii de functii din fisiere continute in pachetele de visual c++, asta fac jocurile mai putin portabile pe alte sisteme. Mă aștept răspunsul real este pur și simplu: nu a fost un bun exemplu de utilizare. Pentru cazuri, avantajul este acela că permite o fluente API asupra tipurilor existente (care nu se furnizează logica) - și anume



```
var foo = data.Where(x=>x.IsActive).OrderBy(x=>x.Price).First();

```

care permite LINQ:



```
var foo = (from x in data
           where x.IsActive
           order by x.Price
           select x).First();

```

Cu metode statice, acest lucru pur și simplu nu este o problemă, astfel încât nu există nici o justificare; doar utiliza metoda statică pe al doilea tip.


Așa cum este, metodele de extensie nu sunt *corect* obiect orientate - ele sunt un abuz pragmatic pentru a face viața mai ușoară în detrimentul purității. Nu a fost nici un motiv pentru a dilua metode statice în același mod. pai tu esti junior. poti trimite mesaje numai la seniorii care aproba mesaje si de la juniori. cine vrea. implicit(by default) optiunea e numai pentru seniori. unii uita asa optiunea(poate inca de la crearea unui cont) sau asa au ales din varii motive. daca-mi trimiti mie mesaj privat, de exemplu, va merge pentru ca eu aprob!
cand vei deveni senior pe site nu vei mai avea vreo problema(doar daca nu te ignora/blocheaza un utilizator). > 
> Se pare că prima dintre valori este interpretată ca o coloană,
> cum este asta?
> 
> 
> 


Deoarece ați primit-o la fel ca `SomeString` , în loc
de text *valoare* , cum ar fi `'SomeString'` .
Acesta este modul în care funcționează SQL - și cum funcționează și
codul normal, într-adevăr. Daca ai fi avut:



```
String foo = bar;

```

v-ați aștepta să încercați să copiați valoarea unei variabile
numite `bar` , nu-i așa? Dacă ați însemnat un șir de
trei caractere, b, a, r, ați folosi:



```
String foo = "bar";

```

Este același lucru în SQL.


Cu toate acestea, presupunând că acest SQL este construit din
valori reale, ar trebui să utilizați oricum un parametru
`PreparedStatement` cu parametri:



```
String sql = "INSERT INTO meta (title, hlcount, textcount, imgcount, linkcount)"
             + " VALUES (?, ?, ?, ?, ?)";
PreparedStatement pst = conn.prepareStatement(sql);
pst.setString(1, "SomeString");
pst.setInt(2, 6);
// etc

```

În acest fel, veți evita atacurile de injecție SQL și problemele
de conversie a șirului (de exemplu, pentru date). De asemenea, vă
păstrează curățarea SQL, separând codul de date. cred că v-aș dezorienta mai mult dacă v-aș da un preț. fiecare proprietate este diferită și trebuie măsurată și evaluată diferit. la acea "lupta" care nu este la vedere, este subinteleasa sau ascunsa vederii,"in spatele usilor inchise". adica este o lupta care se stie ca exista, dar nu se poate proba pentru ca nu este o confruntare directa ci indirecta prin asa zise actiuni de sabotare sau defaimare, demoralizare a adversarului.