“Slicing” is where you assign an object of a derived class to an instance of a base class, thereby losing part of the information – some of it is “sliced” away.
For example,
class A { int foo; }; class B : public A { int bar; };
So an object of type B
has two data members, foo
and bar
.
Then if you were to write this:
B b; A a = b;
Then the information in b
about member bar
is lost in a
.
Related Posts:
- What are the differences between a pointer variable and a reference variable in C++?
- What is an undefined reference/unresolved external symbol error and how do I fix it?
- Why is “using namespace std;” considered bad practice?
- What is a lambda expression in C++11?
- What is an undefined reference/unresolved external symbol error and how do I fix it?
- What does the explicit keyword mean?
- What is a smart pointer and when should I use one?
- What does the explicit keyword mean?
- Why is enum class preferred over plain enum?
- Inheriting constructors
- What is the difference between const int*, const int * const, and int const *?
- What does T&& (double ampersand) mean in C++11?
- What is the difference between const int*, const int * const, and int const *?
- Inheriting constructors
- What is move semantics?
- Is the practice of returning a C++ reference variable evil?
- How to write C++ getters and setters
- What are the differences between struct and class in C++?
- What is std::move(), and when should it be used?
- gcc/g++: “No such file or directory”
- Resolve build errors due to circular dependency amongst classes
- cannot declare variable ‘’ to be of abstract type ‘’
- How to call a parent class function from derived class function?
- QltAW.png
- std::wstring VS std::string
- Why is inherited member not allowed?
- Class template inheritance C++
- Why should I use a pointer rather than the object itself?
- Struct inheritance in C++
- C++ calling base class constructors
- Here is some error with my .h file which show [Error] unterminated #ifndef when I include my class template in it
- Is “delete this” allowed in C++?
- What is a segmentation fault?
- How many spaces for tab character(\t)?
- How to create a dynamic array of integers
- How to create a dynamic array of integers
- Linker Error C++ “undefined reference ” [duplicate]
- How do I build a graphical user interface in C++? [closed]
- C++ convert from 1 char to string?
- How do I build a graphical user interface in C++? [closed]
- convert a char* to std::string
- system(“pause”); – Why is it wrong?
- Pause Console in C++ program
- system(“pause”); – Why is it wrong?
- Pause Console in C++ program
- How to implement 2D vector array?
- Why the switch statement cannot be applied on strings?
- What is the difference between g++ and gcc?
- How to use setprecision in C++
- How to dynamically allocate arrays in C++
- What does (~0L) mean?
- How to dynamically allocate arrays in C++
- What is the best way to use a HashMap in C++?
- What is the best way to use a HashMap in C++?
- Sleep for milliseconds
- How to convert string to char array in C++?
- How can I convert a std::string to int?
- Easiest way to convert int to string in C++
- What is the difference between float and double?
- What is the easiest way to initialize a std::vector with hardcoded elements?
- outputting ascii table in C++
- Vector of Vectors to create matrix
- How to throw a C++ exception
- std::string to char*
- How to generate a random number in C++?
- pinpointing “conditional jump or move depends on uninitialized value(s)” valgrind message
- How do I find the length of an array?
- Sleep for milliseconds
- How to convert string to char array in C++?
- C++ — expected primary-expression before ‘ ‘
- Using getline() with file input in C++
- What is the effect of extern “C” in C++?
- C++ Cout & Cin & System “Ambiguous” [closed]
- ld: symbol(s) not found for architecture x86_64 error
- C++ string to double conversion
- Why are #ifndef and #define used in C++ header files?
- g++ ld: symbol(s) not found for architecture x86_64
- What exactly is the difference between “pass by reference” in C and in C++?
- How to throw a C++ exception
- Conversion from string to char – c++
- How to find out if an item is present in a std::vector?
- What is meant by Resource Acquisition is Initialization (RAII)?
- When to use extern “C” in simple words? [duplicate]
- What is `CString`?
- Floating point exception( core dump
- Initializing an array of objects
- Passing Arrays to Function in C++
- How do I print out the contents of a vector?
- Difference between != and =! with an example(in C++)
- Expression must have class type
- The static keyword and its various uses in C++
- Passing an array by reference
- Unresolved external symbol in object files
- Return array in a function
- What is the ‘override’ keyword in C++ used for? [duplicate]
- C++ equivalent of Java’s toString?
- How do sizeof(arr) / sizeof(arr[0]) work?
- Unresolved external symbol in object files
- Mutex example / tutorial? [closed]
- “std::bad_alloc”: am I using too much memory?