From b86d375f621d56abfc9858587ae5f73f9782da44 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Fri, 9 Jan 2026 12:29:11 +0530 Subject: [PATCH 1/6] "Add virtual functions and dynamic binding with Entity-Player inheritance example" --- Virtual functions/Log.cpp | 50 ++++++++++++++++++++++++++++++++++++++ Virtual functions/main.cpp | 45 ++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 Virtual functions/Log.cpp create mode 100644 Virtual functions/main.cpp diff --git a/Virtual functions/Log.cpp b/Virtual functions/Log.cpp new file mode 100644 index 0000000..4bdae24 --- /dev/null +++ b/Virtual functions/Log.cpp @@ -0,0 +1,50 @@ +#include +#include + + class Entity + { + public : + virtual std::string GetName() { return "Entity"; }//getName is going to return string + + }; + + class Player : public Entity + { + private : + std::string m_Name;//stores a name + public : + Player(const std::string& name)//constructor allows to specify a name + : m_Name(name) {} + + std::string GetName() override { return m_Name; }//Mark the overriden function with keyword override and this helps the funtion came from the base class + }; + + void PrintName(Entity* entity) + { + std::cout << entity->GetName() << std::endl; + } + + +int main() +{ + + Entity* e = new Entity(); + PrintName(e); + //std::cout << e->GetName() <GetName() << std::endl; + + + //Entity* entity = p;//p is pointer to a player type but this is a instance in the player class + //std::cout << entity->GetName();//we expect player to be printed + + std::cin.get(); +} + +//v table contain a mapping for all the virtual functions in our base class so we can map it to correct overwritten function at runtime +//if i want to override a funtion you need to mark the base funtion in the base class as virtual +//virtual funtions need extra memory to store v table to dispatch to the right funtion includes member pointer in the base class +//and if we call virtual funtion we have to go through table to see which matches [additional performace penalty] ] \ No newline at end of file diff --git a/Virtual functions/main.cpp b/Virtual functions/main.cpp new file mode 100644 index 0000000..b33a416 --- /dev/null +++ b/Virtual functions/main.cpp @@ -0,0 +1,45 @@ +//binding means which functions to call +//if not virtual it is static binding : The compiler decides at compile time which function to call, based only on the type of the pointer/reference, not the actual object it points to. +//if it is virtual it is dynamic or runtime binding means the decision of which function to call happens at runtime, based on the actual type of the object. +//Made possible by virtual functions and the hidden vtable mechanism + +//virtual functions allows up to ovverride the methods in the sub classes +//if parent class has some virtual function then sub class can ovverride it to change the method + +#include +#include + + class Entity + { + public : + std::string GetName() { return "Entity"; }//getName is going to return string + + }; + + class Player : public Entity + { + private : + std::string m_Name;//stores a name + public : + Player(const std::string& name)//constructor allows to specify a name + : m_Name(name) {} + + std::string GetName() { return m_Name; }//return the name member + }; + + +int main() +{ + + Entity* e = new Entity(); + std::cout << e->GetName() <GetName() << std::endl; +//no need to bothering of objects as program terminates it anyway + + std::cin.get(); +} + +//everything goes bad whenever i start introduce polymorphism +//referring player like its not entity \ No newline at end of file From c891a23995a6f581c853fdc2a5c194385bddc0bd Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Fri, 9 Jan 2026 21:52:54 +0530 Subject: [PATCH 2/6] This is about Pure virtual funtions and so called interfaces in other languages --- Interfaces/main.cpp | 78 ++++++++++++++++++++++++++++++++++++++++++++ Interfaces/main.exe | Bin 0 -> 53063 bytes 2 files changed, 78 insertions(+) create mode 100644 Interfaces/main.cpp create mode 100644 Interfaces/main.exe diff --git a/Interfaces/main.cpp b/Interfaces/main.cpp new file mode 100644 index 0000000..b0b1fbd --- /dev/null +++ b/Interfaces/main.cpp @@ -0,0 +1,78 @@ +/*Pure virtual function in C++ is the key feature that lets you create interfaces (or abstract classes that behave like interfaces). +What is a Pure Virtual Function? +A pure virtual function is a virtual function that: + +Has = 0 at the end +Has no implementation in the base class (or sometimes just a dummy one) +Forces every derived (child) class to provide its own implementation +we cant instantiate the interface class [only sub classes we can and have to] +Interfaces are just classes in c++ with unimplemented methods acting as template of source unlike other languages as java or c#*/ + + +#include +#include + + class Printable + + { + public : + virtual std::string GetClassName() = 0;//now every class have to contain GetClassName function to implement + + }; + + class Entity : public Printable//made a sub class + { + public : + virtual std::string GetName() { return "Entity"; }//by removing body and equating to 0 makes a pure virtal funtion + std::string GetClassName() override { return "Entity"; } + + }; + + class Player : public Entity //no need of printable + { + private : + std::string m_Name; + public : + Player(const std::string& name) + : m_Name(name) {} + + std::string GetName() override { return m_Name; } + std::string GetClassName() override { return "Player"; } + }; + + void PrintName(Entity* entity) + { + std::cout << entity->GetName() << std::endl; + } + + class A : public Printable + { + public : + std::string GetClassName() override {return "A"; } + + }; + + + void Print(Printable* obj)//this is for printing names of class and type which has GetClassName funtion and make Printable a pointer +{ + std::cout << obj->GetClassName() << std::endl; +} +int main() +{ + + Entity* e = new Entity();//cant instantiate the Entity class if it is pure virtual funtion and we need to give a sub class where the funtion is implemented eg Player("") + // PrintName(e); + + + Player* p = new Player("Suhas"); + //PrintName(p); + + Print(e); + Print(p); + Print(new A());//it is a memory leak + + + + std::cin.get(); +} + //we can only instantiate the class if it actually has all those pure virtual functions implemented[all funtions implemented] \ No newline at end of file diff --git a/Interfaces/main.exe b/Interfaces/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..cd09c06b6ec7c7fcf37182d1534ecf24676bead3 GIT binary patch literal 53063 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 NFQ%!!Gu&S0{~Is<<~RTV literal 0 HcmV?d00001 From a8c7e64dab82dd18e69912336581cb8a3e55b358 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Fri, 9 Jan 2026 22:04:54 +0530 Subject: [PATCH 3/6] Add .gitignore to ignore exe files forever --- Visibility/.gitignore | Bin 0 -> 118 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Visibility/.gitignore diff --git a/Visibility/.gitignore b/Visibility/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..14419a10dce900ddf6a9a7cc91d43d8f80a073b8 GIT binary patch literal 118 zcmezWPm4j1A(f#5hf7(l#yh9rh8Bpyt>fFT7a1L7qylrm&8 Date: Sat, 10 Jan 2026 01:18:57 +0530 Subject: [PATCH 4/6] Contains public, private, protected --- Visibility/Log.cpp | 42 ++++++++++++++++++++++++++++++++++++++ Visibility/main.cpp | 49 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 Visibility/Log.cpp create mode 100644 Visibility/main.cpp diff --git a/Visibility/Log.cpp b/Visibility/Log.cpp new file mode 100644 index 0000000..2638ba5 --- /dev/null +++ b/Visibility/Log.cpp @@ -0,0 +1,42 @@ +#include +#include + +class Entity +{ + protected : + int X, Y; + + + void Print(){} + + +public : + Entity() + { + X = 0; + Print(); + } + +}; + +class Player : public Entity//Player is a subclass of Entity +{ + public : + Player() + { + X = 2; + Print(); + } +}; + +int main() +{ + Entity e; + e.X = 2; + e.Print();//its completly different funtion and is outside of class and not even part of sub class + + std::cin.get(); +} + +//protected means parent and sub classes along can acccess the symbols +//public means we know everything can access the subjects ina class diff --git a/Visibility/main.cpp b/Visibility/main.cpp new file mode 100644 index 0000000..3c00ef7 --- /dev/null +++ b/Visibility/main.cpp @@ -0,0 +1,49 @@ +/*Visibility in C++ refers to access specifiers — they control who can see and use (access) the members (variables, functions, etc.) of a class. +In simple words: +Visibility decides which parts of your class are public, private, or protected — i.e., who is allowed to touch them.*/ +//classes are generally private and structs are generally public +//this visibility has no affect on performance or running or the program and generation of code [not related with CPU] +//there are even called friends which can access the private + +#include +#include + +class Entity +{ + private : + int X, Y; + + + void Print(){} + + +public : + Entity() + { + X = 0;//constructor + Print(); + } + +}; + +class Player : public Entity//sub class of Entity +{ + public : + Player() + { + X = 2;// Even this constructor cant access the data cause it is private + Print(); + } +}; + +int main() +{ + Entity e; + e.X = 2;// we cant access the subjects from a priavte class + e.Print(); + + std::cin.get(); +} + +//protected is more visible than Private and less visible than public +//we keep classes public and private according to goal of not breaking the code [such as UIs]USER INTERFACE \ No newline at end of file From edd8567701c91ff72f149a2913f0a5e27fc12395 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Mon, 12 Jan 2026 20:27:13 +0530 Subject: [PATCH 5/6] About Heap allocated arrays and stack allocated ;also size of them --- Arrays/Heap.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ Arrays/Heap.exe | Bin 0 -> 44312 bytes Arrays/Log.cpp | 23 ++++++++++++++++++++ Arrays/Log.exe | Bin 0 -> 44003 bytes Arrays/main.cpp | 27 +++++++++++++++++++++++ 5 files changed, 106 insertions(+) create mode 100644 Arrays/Heap.cpp create mode 100644 Arrays/Heap.exe create mode 100644 Arrays/Log.cpp create mode 100644 Arrays/Log.exe create mode 100644 Arrays/main.cpp diff --git a/Arrays/Heap.cpp b/Arrays/Heap.cpp new file mode 100644 index 0000000..5460ede --- /dev/null +++ b/Arrays/Heap.cpp @@ -0,0 +1,56 @@ +//there is no way of knowing the size of array in c++;but there is a way cause when you delete this heap memry compiler needs to know the size of array but its comprimising + +#include +#include + +class Entity +{ + public : + + static const int exampleSize = 5;//constexpr will explained later + int* example[exampleSize];//suppose we changed it to a heap we first get the Entity memory adress which leads to the array its a jumping across the memory so [better to switch it to stack] + + std::array another; + + Entity() + { + + + int a[5]; + + int count = sizeof(a) / sizeof(int);//size means bytes ,count means no of elements + + //example->size();//we cant do like this like some other languages for heap in Entity class + for(int i = 0; i < another.size(); i++) + example[i] = 2;//constructor which initializes + + } +}; + +int main() +{ + + Entity e; + + /*int example[5]; + for(int i = 0; i < 5; i++) + example[i] = 2;*///we moved into the Entity class + + + //int* another = new int[5]; + //for(int i = 0; i < 5; i++) + //another[i] = 2; + + + //delete[] another; + + + std::cin.get(); +} +//this is based on heap allocated memory with new keyword +//we need to manually delete this +//stack created it will ends when we get out of curly bracket int example[5] +//heap created more over the stack cause of the life times most probably suppose if we need to return the array inside of our funtion + +//in c++ 11 there is called standard array which has inbuilt datastructures used rather than the normal raw array +//it includes bounds checking and it keeps tracking size of arrray \ No newline at end of file diff --git a/Arrays/Heap.exe b/Arrays/Heap.exe new file mode 100644 index 0000000000000000000000000000000000000000..af48917136525f6859dc3c7d94a5922b857305a7 GIT binary patch literal 44312 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

U_XDBt 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 qjcry+^fZyL@9J|oiWb + +int main() +{ + int example[5]; + int* ptr = example; + + + for (int i = 0; i < 5; i++) + //example[i] = 2;//this is a text an offset to this memory of array + + + + example[2] = 5;//for index 2 its start at 9th byte we are writting an offset of 8 bytes from a pointer + *(ptr + 2) = 6;//we are dereferencing this pointer way of writting and changing value from 5 to 6 + *(int*)((char*)ptr + 8) = 6;//this is the way of writting in single bit[char] and even in int data type of 4 bytes + + + std::cin.get(); +} + +//arrays are always stored in rows ; each integer of 4 bytes total 20 bytes; +//array is just a pointer here it is a integer pointer \ No newline at end of file diff --git a/Arrays/Log.exe b/Arrays/Log.exe new file mode 100644 index 0000000000000000000000000000000000000000..4ca6081c8660b5fc03dd523289f1a2d242ab5315 GIT binary patch literal 44003 zcmeHw4SW<;mhY|Z4rxe8B@h%9wQ+-jLLdkT8nin}=R@*kKKM|u2uX)T@?}!Zhl&Kd zqtvvSWoDfn_dRD;26xt(=gv5@Y{b!F1Hl9poyaiCh~wahPRB4a8Ap*1wcr2TTh-N- z4(xmT+u!f)?~Mi3b?>?7oO{l>=bn4(R@F_(ojaMGG3LM-i7>VoS32DM_u@aDC{DTh zXDMvY_}8ZIm5N`RUe(ap;c9DdUEf~Q?5eG4X=znm>wK1uAR^JPw) zI3Yu4UG8P9SenRgKUdetHZpdpjjC4E zBNaJh?pYvly%=)|Tp}PE9Qs9MIvG1UP9*;`zm6vvn>q$z({{!_83S&BGF9JZ6`6+F z_#uHv*QgRm<59tP-FvPj4YGOz2d5oyu$_8->0@A{7A^gI;uh3^vGnhd^uHCulw2l!zrplh zkn8GIdr%t{L@2R9x(X@<7Z8Gj>#a*L^fv(Q)NNqEWSviJ%|8Jjpiyn%@5qJ}AABil z)G>LDk5G+=B111*%eav@=w<(cvTpTSrpsTgeNY)VmAdD?2-rM=U2TPx6D$d^a3+32Q#gmz@HY@z0w+hp;~`*p8kG=V=Pri&h}kX&B|v%% zHqrXRLo;!imJ!|p)M$GJPGxuJWz6Pn1$3xHRLIUIt-&UBmjeO^PDn^619c|V5&k#u z3LMPt+X?>$4H-Q$H-HI+(w)tdqFfGC`7)cZ5k%G4=DQAXTg-!MEsaLTD2=sKc~2LaJWjvz5F z9h8^Dg}Z%c?z($TAJiO3pgIq^+-zSjeulRXPmJnH3FsR*HFXykte11+0uAmWy&zB$ zRrqaQq2uK~fq!x&aLN_7!TZoY4z$lyNXG}Xzylf69NQ*`kR8YiI&2U$f!F1Hz*8|WB&uO85Hr@V0OU&=@Rc@`JsJ44^x58Nzi zgJypW^h*71D09aDY4Bx#T6ej$V`^6K(66XTNnY(hcaGF=+cx}xs1Lld(MU9W^KwJ} zbN)|5-lJW;{)M{^p@Rn&V|aTBHIh5Han+JDw36QNoD332?s@^BP)Tp#?07jyB6hEk zc3h2m*Pvc5t{g1o>K_f9-6lV_A2i?U9lw8QDZEJ-omwBl58VI?p>3)hyc@-$sj@*W zy-~l@kWVz$HFEHA&{1RUBzphR>$F#*tu*x8FVL0mkou)-OxUY{?fL{Nh1h9Fp&NrX z>R7V%aJxU`9fZCu+BuF4c5LXoK<fHBC1!9I_-|$`M zD17KmN_Agn)?G&IY^$NeP#%d!!Lw}w1)d1Gh}kO1tU%Ns+7NyaChSg9Srl+DG;zw^Y( z?_>@BfYNes2)b2f^~&EPhdz$XUKpIo-^=Pf-7l$j)O-3RmzprK6VTKBodmIcb^u+A zQPM$4CaKMVLrz41?WbsZhp|rnks~AYM8+W$Zr{T%@Agh+@{iy=0!j#v7|G;}8%6Tv z?dJ*4e-&qIqZ(3q(m_er>HS&)PUnW? zB+~c1NyiNWXzE?GL`6bvzWH48*ZvUe)JV@~;06778$)Nr8gYpy>zlE)9bH7=Yp37J0II z&9)$YxqPrUW0h#OTYbA?+y##**1UK?5aYR^SZfI+Zhgm0720zL*E5pi2c*8v)#ypOe^_r$vXm1t9L~)%sKq zDWS8}?8szjxsLD$DBh(DsBuXRlw4=HO_y>+RJ{*@CNlhWec;mDgZzmL6Iz|&fZKvul0N^0;nI+E$*P+wb+C}m&GffW zp;Nn^dr1W_4D5b^Jv<05yQvawaQL_w5BU8M{7+H~+AoD0`o|l#^BF$YXF%5R1aSQ) zb%b?Bn5&5WUbBbhCwzQ})~BD*WL7vWq6_ zXgTMl;AJ>ox0;awZcXKG*1gh=keVD`ftwv_MomRWnU+C8Jp30-yu!;-Al$Ngh4zc( zm0F+nCgw1hg=7$0nwuH;9Y95-pfLF~z+ksHa0c-uaK_=kMtcB^Rm|xykv#&cz`VK7bnC@2%+Rx^g|~wt;L`%<-0JrO=N#%T zu8UwmeQaJVqhC_>r{Ld00_g8Voeok3Rtdr?;a&^~yVjz8DE{d4kG&%mFl7QksbS_E zLpE?G@xc>(R_6+wNs_-FMnPyHm2{n!yZ)APSH45J<8s$_%1u0h+zTfO^s*e>2hab7&S4_(E#L&sx#Zv} zo^Z;+e?Y`t}_$MSUS@a>Og+BMo z{lf`aF9-f21>TpU_Luji;x27g@Hl$dxoxT&Q^c;9{Z|FfU9aW^&fTWo28wfc0gEP; zNBnPTg9zqww&IM0#U*4~?&#nYWGMuvOP9zP?abE2#x z+F)PSk>Q_P#wVz~8nX3c%m}%YyH`rxj_-hiQD0@3;ksYTckZP1kYl?SXu1 zCidWD5kEhYx^Qa=-^0Du$7CKFh0J)2@y}8p;?DrZv}}3bRO$~)xF8K{XG(5$#3Lt8AJ%H8CqC-eK-yE&Fs#e*%eV|Eg9Cr zYE#$g?gq&pCeh}Qpaa0*f?iF64s=EQZy|2FLf{biolEW+m%T=<$=;^s;^r>c>;EGb zMlj^kJy`wDTUKXGQ_JLi3Q0Kh_wd@E&w*sxXG0$%jrj+d3>`pHACKU3$#PG=1Xjb( zLLa&xr3(E22(I1v5@$=bgB>d0Dfc9z_Ds}1g-nIohqj_)MEzaxE8zBdm-xX>uM(>Q z!HT5Xjq2sEFU2o6%Im{doBjmVXLrwD-1P@_&XV)m7jkeJxWhnOBmR?U&2aK1Q067W zKwnOQfnMtRga4PK4I~G%K?pHZgpocPdXwuPtM3Ow-{IG(;f?jU71~SWzq31U&V=u# z%RPwIH=+GdWqS90(*AHlV1(ADrpo)?=-w3R_M(5t!AA0tv$%Wz1B~5y_AU|MJI`LP z-hCRlk~$u}Uk+xHBfNyxi3H)q4mNuJ@;k{@RE3n~c2rX;yFWi2AG00~zUv)#xX~$wJ@G z2O~`Vxpr3jSUVQRA_{JB{b7Tnyl+K>6gp3OY?Y>~YvIl5;Ted}8VoH52T&mQlu*MC zorOs|w?&v7Ua$RT_*>EOX& z`rwr647tY+_$Arf{C`A?kC%ILC6o-mM?dd(Z;*zvQ1jk3&}HaZ@X0zp^iR0#y^R3> zNU6Ih^(~~j*Vs{uefS9x=2k4%`Vs0eGYRD++jAV7;58ya)Bbbe2l5IzMtG4B9F z2V&K9K8CA_+Q;EvqJXAp%TS#N%DnwivI-@`Z|e3J>seY~;8c@VJ=po7Ln}EbcP&T2 z*L+VCecvREuH{moH&tKG`WkNiW*x-TF&VDtq+5B?>LAeQ`sjFEy+^fvT2l~9Ug5{j zQoCW5OYZuE4eq*iP#e+Ch2H}s8Xn)mcmizgT<7bZU=b=gsEvf{NPO?%P|0CTvATLd zMs1WmSG_EIwK^r_Kl<-e@4!3Xoq(<8hJOW zcV@4ayV`*esy-z5_;=&(w;$^ra*r*0uKZXZN*~+reAWLEG~{F?l=mqthe7KB?_rWx z^S&5j+kekGk=%+UC^?u0=}GioOeELP2ISyg*d*kAiV9V(8b}CZVH(l*hP+s*qm=jUll4}9>NK@7uZNZz8SXado}lXi&T$V^<}FVi@V+!cq8-4L3%94?Z_*Sj>Mg4| zA8mvtXc*ikBHCh#6FjnGc|@Hi_oULmIV|^(gV7jclp&ZWXN0#wTiBytdq)lyP{nHw z2hQ8%$9m#$;%(QkRK9TI!encf%>XB95``UF{9bz}^Xg*t-YwPr6$Uf67fN2d7ds)qAuy z=YSj4;9i4%u<9Xy{TTI`T*uI-Xk)ZAVmCcT2>G7II-0RyR=-p8^^&og!Ot|(O`npn zwRd@^8o&Y=g{N)m%;*t~4lXZ)vY1gdL-Ff8w?v z+UFTmi_i;G4!=b4Lc=oKXQArDd^uI_DUiVTS|DU^RmW$~_Pa5a^xqN~!W=39${jXB zLF0n!+eq55lG=TzE!evwNAfS|&#@Vr4W&Ro;tvsLquy_MkIFr3js}l+w@Y9WJWIy- zc=+p>4;0w7w*v$A;chYh?3Z33)AW0fO2dQoJ9nVEe$+ZHFkl;UqSI&3#==>O6nHx~22{R)2Ni zkCOlAAV)Wrh7(C%xrfvX?8hjuBPZe?33(|fhx~&GJJc;c4!kafe~&dz+{tPFK|~hF z)Op)%IrtocJtETZr5KvKe1P)$`=cfa`Fe-afCJMHR;oaa8+WKO*f(L=0lgN`Ga;U&TA!rg91-2f>5{b6v#i0t~VLV?Al{hIt_kwxI z_w3MCl%aBmSa22mv@;@h?MF}I46(R_5a@PbX^krS0m1ER#|f_oeuQE*$m}R!J|qrreX4oPWCH5D<01J=qXV9TDMBJ~Rtp7y<*&Ef|&f=s(~krP$C;GOJz0maeJPu-?5xshso# z#2l)k%xH&UkEz@*u;wU6blV`#de+4w=Qa8ftf1uk0kVeJ<~>wsjvKh&SE z%?|m~Lu;I&t$gM4vjG}7)rH${y&R*yIuY%Z3&jVDoNGO!5W!hj8$H3zj`S` zu6Bq|f(P=U5f)|-Q2!77K2<%bK?C1On%#VW>56HoAO8v3m7L)H(xIIjmihCTsJX7N znk&YV{tvX06V$I>n?S}3`A&k39NbLa^08KOGW-D|e5mB)P(2_PefhFeYDmp+>AIz0 z#>Xdnd#)v^L-~%-a*VuqBGx^P?jhNOmxc13fj>zh$5g!oHINdKi2wH}KyPpf4nubU zOwVt572=6H$l+^b%dj1#Xy!h30`;;fkX!4c1+>|)sDblaOkG2MCtrK^Iy)CL|Ghw= z`7EtRIWh$*Wy3*0yW1q(usL=$wV_eK^l89$^9d>BPc045Ku*%=&jE-cQ_fM zW7!T~syg}|<1B9FLK(SLA+FGjA_5+TkWY<>=2)%rMv=R=M7w2tQw^;~A#amg3T$#0 zt-sa>wmF#Gbppv)H-46;@u=?@&Dj0U;ZXgO6`-Io1I{osi7F{@XfWq<1rG8){`@uM zJ&8((GGTVP>wnSjb0xp451gH=PQWj$`E3KXq!8RRo-22dwdCOa$Z?wo??p-*8M+4- zT6Z)KT6f%js)`zitQ+kTMP^QTOh-{v}F^5HKqQ^m_L z^;F*(yJlCj!XE*&eQ^><)Jwy^K_;-+roIsVB~k+nt2b=;N8x^+NvF)NFfC>eF!V)w zWH`1yR|$O(&-zv6Kc~*7DOS;S|Bcr%{0}7anMvxA@YPYtVszFCqw7V>E4QDT4Q)fg z3^y(mO9Hqen&SCC5(rfMtuE>`6s>3&*@yW_C*YU`t0f_4px4p;jmVc@e)-uO(_h*C zyG|VH&}RoaJJBbD6Nv5&_D0~CebyN)S~{-iM4ZX(M3}kt`PHx*B3>d|ba)<(fBylq ze*u1!+0U-0-1&MfJ&~R;IJzI=G8~ycID?Du(GN%h|G53()Ic8wUA8}P+&=4kcVHTc zgoyL+Xf$dQIT!?|?x&{$j?t8NVLY#)^}0uaf*~>-u0&@de|(r;=v6!R(q-V`bo|mm z5sEa)cWggM#?(7<{m%U#rBd&qmmK(fT+h=4i|51lqk^o{y8j#qHz7N~UxFR}x3Hp@ zaj*M6<`G$^!&d+{{6C`eTP*cCL#s1Vv2J?<9t)#tEQUa*zoX=XX`ukgiJR#zQB zn})SF=UshadbeqSVT{EalEbIWcnW?~!OsPL89Ffx)dFmK1l+626hOWWp0t#X=j&m* zTM~@+LdVGPkk!9p_)RhSU1jj|r-tu~GT;om1JnwT_;;9kk-@nJ>iYv+IkGZGGuGGe zD3E$QB%2WGB%K2Xll#KgMtKUMK8o6lKd;1eCW9+^dUF}+vjT!+5^+=D1+rGef5q@@ zgMZY3e}nlUYMCsI41ZnHuW^yKy`w)<;O`HG{}&__aYA3!G9sP0MrJI2NIV}}pkL?d z*V+1Yrhd)PuP*&MO}|dnuj%?VRlg?dSEqh;=-1D;i~7#!*HilSq<(!zzaG=CgZlNb zem$sPpVhC==+~$9>r?vmN&WhSetlfOKBixH>eom0>kj=I)UTcT^#T35S--0KwN1Y^ z>DL$a>t24PXJ_;e^T{9!WXLCzrns3q+s){pJWqV}^WWA22o4P4D#F~1)uG+K zYP0{gP4!V0qYg?OK8-48^1ej5miTl}$(yVJ#T^)`0`3&4lw!W!# z9V{|$PBV#p<9w=>ZnyB+$5o6K~ZvU@ITO3pu!Xa1r3E!(sutr=ml;uYySrIHfC+9gZC^ z8r{gz3q~h?9EtoB88J7-WviHw;#ii%%N7Hq{v;ClJ+91?;_R~JOiaiN*oj{i&cdHY zBJ^|=bng389Q6JTYr@$EI37`Regx~p`M@aHV}R`djL-3rCcLL{24i3sl6xlbNbUyU zzK3g6Ht)msfWvlRLZ7GK^AeQIOX7HiK$-ookqGbEh93720%I4dgZR^#0lE#iM(ePx z=Y&+2jk6Wyc=%|RmkPdAz8YuE1?r{p2XGQSrK9{;URE|jLzn-E{b5HS z!9GXg>JM-O6eQVSj?H_LE~IaU&Ua5wB$7zJuqMSBu-OWe6Oy~^He%+qDSau93(*st zJp(p4+C39eoE|XrB=NRiiK0Wm;kH2fLiJEN zoi7467gzGxYPf7+(puCeK6A{*^%TkjRF3){ws}&L19o86O-M=3??c7?DURHv21`!( z;AW7xaf3sqrQ6+^0A9knQ_BV}44G~_(IC^4A8Y~25z1o=+z`JXx;ZrgI$7Azb^NkWkILIfSU zEa^_3XVi~Q;2Z({w}~Fo*1(pYq(+Xg2I(AP0r-XNKsKPW`1wfWcH&{NH|ClEW#fDR z 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 Qq}&P@?C-o(f1vTd0Z*Sjvj6}9 literal 0 HcmV?d00001 diff --git a/Arrays/main.cpp b/Arrays/main.cpp new file mode 100644 index 0000000..3e80083 --- /dev/null +++ b/Arrays/main.cpp @@ -0,0 +1,27 @@ +//in java we have no modifier = default modifier +//in c# we have such as internal[these are topics in visibility] +/*Arrays in C++ are a collection of multiple elements of the same type stored in contiguous memory locations (one after another).[in rows] +They are one of the most basic and important data structures in C++.*/ +//lua language starts from index 1;c++ is 0 +//its like having multiple variables in a single variable +//arrays mostly work with for loops[indexable loops];without it we need to set manually the example array + +#include + +int main() +{ + int example[5]; //array type and name mentioned its contain 5 integers + example[0] = 2; + example[4] = 4;//last index + + example[-1] = 5; + example[17] = 21;//we get memory access violation [in debug mode we get errors not in release mode] + + + std::cout << example[0] << std::endl;//with mentioning index, we get underlying data type + std::cout << example << std::endl;//actual array print memory adress cause its a pointer type + + + + std::cin.get(); +} From 84c5ae1f1285156e418b5b28398856de2ba12fd0 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Tue, 13 Jan 2026 11:52:34 +0530 Subject: [PATCH 6/6] raw strings and modern way of writting strings --- Arrays/Heap.cpp | 4 ++-- Arrays/Log.cpp | 2 +- Strings - working/Log.cpp | 37 +++++++++++++++++++++++++++++++++++++ Strings - working/main.cpp | 36 ++++++++++++++++++++++++++++++++++++ Strings - working/main.exe | Bin 0 -> 47069 bytes 5 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 Strings - working/Log.cpp create mode 100644 Strings - working/main.cpp create mode 100644 Strings - working/main.exe diff --git a/Arrays/Heap.cpp b/Arrays/Heap.cpp index 5460ede..9be34ee 100644 --- a/Arrays/Heap.cpp +++ b/Arrays/Heap.cpp @@ -7,10 +7,10 @@ class Entity { public : - static const int exampleSize = 5;//constexpr will explained later + static const int exampleSize = 5;//constexpr will explained later which is constant expression int* example[exampleSize];//suppose we changed it to a heap we first get the Entity memory adress which leads to the array its a jumping across the memory so [better to switch it to stack] - std::array another; + std::array another;//type and size Entity() { diff --git a/Arrays/Log.cpp b/Arrays/Log.cpp index af4a080..416b6d9 100644 --- a/Arrays/Log.cpp +++ b/Arrays/Log.cpp @@ -20,4 +20,4 @@ int main() } //arrays are always stored in rows ; each integer of 4 bytes total 20 bytes; -//array is just a pointer here it is a integer pointer \ No newline at end of file +//array is just a pointer here it is a int pointer \ No newline at end of file diff --git a/Strings - working/Log.cpp b/Strings - working/Log.cpp new file mode 100644 index 0000000..8756b60 --- /dev/null +++ b/Strings - working/Log.cpp @@ -0,0 +1,37 @@ +#include +#include + +void PrintString(const std::string& string)//creating copy of that std::string class + +{ + // string += "h"; by removing the const and the refernce keywords and its just a read only function + std::cout << string << std::endl; + +} + +int main() +{ + std::string name = "Suhas";// + "hello!";process of appending strings + name += "hello!"; + + std::string name = std::string("Suhas") + "hello"; + PrintString(name); + bool contains = name.find("no") != std::string::npos;//to find text in our string + + /*npos is the illegal position for that find + and name.find returns position of that no thing*/ + + + name.size(); + + /*strlen(s) for the length of the string char* s + and strcpy for copying of the strings*/ + + + + std::cout << name << std::endl; + + std::cin.get(); + +} /* string copying in funtions are quite slow + strings can be addable than char ptrs */ \ No newline at end of file diff --git a/Strings - working/main.cpp b/Strings - working/main.cpp new file mode 100644 index 0000000..4679cfd --- /dev/null +++ b/Strings - working/main.cpp @@ -0,0 +1,36 @@ +#include +#include + +int main() +{ + std::string name = "Suhas"; + + /*char pointer[c style of defining] and we keep it const + cause to make string immutable; + will changes to std::string by + using header file of string*/ + + char name2[6] = { 'S', 'u', 'h', 'a', 's', 0 }; + + /*0 or '\0' is the null termination character + string terminates after hitting 0; without it + the string goes outside of allocated memory*/ + + + std::cout << name2 << std::endl; + + + name[2] = 'a'; + + std::cin.get(); + +} + /*Its just the array of chars + char is of 1 byte of memory and + string generally uses char ; + wide strings are 2 bytes per character + std::string is templated version of basic + string class which is templated with char */ + +//char is underlying datatype for each chartacter in std::string +//string has a constructor takes char or const char ptr \ No newline at end of file diff --git a/Strings - working/main.exe b/Strings - working/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..b79fd313b063bcce37a704923e24deadeaf0c173 GIT binary patch literal 47069 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 literal 0 HcmV?d00001