|
|||||
| | |||||
casting MEANING: Used in conversion between objects of different types
static_cast is used to cast a pointer of a base class to a derived class. This can always be implicitly performed.
explicitly casting a base class to its derived class:
class Base {};
class Derived: public Base {};
Base * a = new Base;
Derived * b = static_cast<Derived*>(a);
implicitly casting a base class to its derived class:
int main()
{
const int N = 5;
int i;
Shape* sptrs[N];
/*
Pointer to vector of Shape* pointers. Pointers to classes
derived from Shape can be assigned to Shape* pointers.
*/
// initialize set of Shape object pointers
sptrs[0] = new Line(0.1, 0.1, Co_blue, 0.4, 0.5);
sptrs[1] = new Line(0.3, 0.2, Co_red, 0.9, 0.75);
sptrs[2] = new Circle(0.5, 0.5, Co_green, 0.3);
sptrs[3] = new Text(0.7, 0.4, Co_blue, "Howdy!");
sptrs[4] = new Circle(0.3, 0.3, Co_red, 0.1);
/*
casts pointers between non-related classes
| (#55) poster : anonymous (owner) | date: 2005-11-17 |
| Wanna to learn reinterpret_const | |
| Leave a Reply |