answersLogoWhite

0


Best Answer

The struct default access type is public. A struct shouldtypically be used for grouping data.

The class default access type is private, and the default mode for inheritance is private. A class should be used for grouping data and methods that operate on that data.

In short, the convention is to use struct when the purpose is to group data, and use classes when we require data abstraction and, perhaps inheritance.

In C++ structures and classes are passed by value, unless explicitly de-referenced. In other languages classes and structures may have distinct semantics - ie. objects (instances of classes) may be passed by reference and structures may be passed by value.
Technically there are only two differences between classes and structures:

  1. classes are declared using the keyword class while structures are declared using the keyword struct
  2. structures are entirely public, while classes are private by default

Most C++ programmers use structures exclusively for data that doesn't require strict validation while classes are used to encapsulate data and the functions that work exclusively with that data. Although classes and structures can largely achieve the same goals, the lack of encapsulation and data-hiding in a structure make it far less robust than a well-designed class would be, with little or no difference in terms of memory consumption. Encapsulation comes into its own when classes become highly-complex (classes within classes) as each class is responsible only for its own data, not the classes it contains. Structures can be just as complex, but because they don't have the safeguards that can built into classes, it only takes one errant function to unwittingly invalidate data. A well-designed class ensures data validity at all times.

User Avatar

Wiki User

11y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

12y ago

Depends on the computer language, but in general, a structure is a value-type, while an instance of a class is a reference-type. A structure or struct, may not offer inheritance, classdoes.

This answer is:
User Avatar

User Avatar

Wiki User

12y ago

At the simplest level, a structure is a class where the default access specifier is public, instead of private.

Formally, a structure is a class that has no methods, be they constructor, destructor, or otherwise, nor access specifiers. I make this distinction because some C++ compilers do not differentiate, and will allow you to create them, but structures with methods or access specifiers are outside the language definition.

This answer is:
User Avatar

User Avatar

Wiki User

11y ago

Structures are public by default. Classes are private. Other than that, they are essentially the same in C++.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is difference between structure and class?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

What is difference between struct variable and class object?

structure variable can access the variable but class object can access the function also


What is the difference between allocation and search data structure?

difference between serch data structure and allocation data structure


Difference between tall and flat organization structure?

There does not have to be a difference between a tall organization structure and a flat organization structure. These structures can be the same structure.


What is the difference between Immediate constituent and Phrase Structure Grammar?

the difference between phrase structure and ica


Difference between a class and a struct?

By default, all of the members of a class are private and, by default, all of the members of a structure are public.Structure are value type where as class are reference type.'this' pointer will work only in class.Inheritance between classes is also private by default, and inheritance between structs is public by default.Classes support polymorphism, whereas structure do not.


What is the difference between a matrix structure and a organisational structure?

the difference between an organisational structure and a matrix structure is that a matrix structure is a combined structure whereas an organisational structure is in a vertical order and has different levels.


Difference between formal and informal organisation?

difference between formal organization structure and informal organization structure.


What's the difference between the Class 365 and Class 465 466?

The difference between the Class 365 and Class 465, 466 is basically the cost.


Difference between exclusive or inclusive class intervals?

difference between inclusive and exclusive class interval


What is the difference between a building and a structure?

All buildings are structures but not all structures are buildings


What is difference between first class and second class on train trips?

What is the difference between buying a 1st class and a 2nd class ticket on the train in England?


What is the difference between the structure of an organ and function of an organ?

the difference is ,a structure is where it is placed and the function is what it daos