+ 2
CLASS VS STRUCTURE
When we have classes in oop what is the use of structure...? Both have same syntax... And i think same way of coding... And do vote upon what to use class or structure...
13 Answers
+ 4
see a book has page number and author..so in order to have what you say a variable of type book you need integer and string there only structure comes in handy..basically class is used to manipulate and utilise the oops concepts..
+ 6
mention not but I am not sir
I am a 3rd year student haha
nice to meet you bro :)
+ 5
Um that is for .NET. Structs and classes are essentially the same in C++. You can code OOP in C++ using structs if you want. It's just not the same as a C struct.
+ 5
Well instead of copy/pasting irrelevant info from stackoverflow, you should try to understand what I've said in my post....
+ 5
Besides, NET is a framework used for C#, its not a language in itself.
+ 5
Joy Das, that is true but you can create functions and use inheritance also in structs...only difference is that members are public by default.
+ 4
Java and C++ are NOT ".NET languages". If you look at the poster's tags.
+ 3
https://stackoverflow.com/questions/13049/whats-the-d
In .NET, there are two categories of types, reference types and value types.
Structs are value types and classes are reference types.
The general difference is that a reference type lives on the heap, and a value type lives inline, that is, wherever it is your variable or field is defined.
A variable containing a value type contains the entire value type value. For a struct, that means that the variable contains the entire struct, with all its fields.
A variable containing a reference type contains a pointer, or a reference to somewhere else in memory where the actual value resides.
This has one benefit, to begin with:
value types always contains a value
reference types can contain a null-reference, meaning that they don't refer to anything at all at the moment
Internally, reference types are implemented as pointers, and knowing that, and knowing how variable assignment works, there are other behavioral patterns:
copying the contents of a value type variable into another variable, copies the entire contents into the new variable, making the two distinct. In other words, after the copy, changes to one won't affect the other
copying the contents of a reference type variable into another variable, copies the reference, which means you now have two references to the same somewhere else storage of the actual data. In other words, after the copy, changing the data in one reference will appear to affect the other as well, but only because you're really just looking at the same data both places
When you declare variables or fields, here's how the two types differ:
variable: value type lives on the stack, reference type lives on the stack as a pointer to somewhere in heap memory where the actual memory lives (though note Eric Lipperts article series: The Stack Is An Implementation Detail.)
class/struct-field: value type lives completely inside the type, reference type lives inside the type as a pointer to somewhere in heap memory where t
+ 2
@joydas sir i am in 2nd year. HBTI... your college?
+ 2
@anshul UEMK
+ 1
@Karl His questions included .NET languages, it wasn't based solely around C++. Either way, it gives you a perfect idea of the differences between the two.
+ 1
@Karl C# is, if you look at the tags. And again, the answer addresses their question accurately. As well, it'll be best to just improve your answer and actually provide him with information than worry about which languages in his tags are .NET or not.
+ 1
That was kind of thing i was asking... Thankyou @joydas sir