why to use dynamic cast in c++


 
Thread Tools Search this Thread
Top Forums Programming why to use dynamic cast in c++
# 1  
Old 09-01-2005
why to use dynamic cast in c++

class base
{
public:
virtual void disp()
{cout<<"from base\n";}
};
class derv : public base
{
public:
void disp()
{cout<<"from der\n";}
};
int main()
{
base *b=new derv;
b->disp();
derv *d;
d=dynamic_cast<derv*>(b);
d->disp();
return(0);
}
///using dynamic cast the derived type pointer can point base type pointer..why it is necessary...where we should suppose to use this/////

int main()
{
int i;
int j;
char *a="hi friend how are you";
i=reinterpret_cast<int>(a);
j=(int)a;
cout<<i<<endl;
cout<<j<<endl;

return(0);
}
both will give the same output..then what is the difference b/w reinterpret and ordinary c style cast.....in static_cast also same thing we use c style instead of static_cast....

Last edited by sarwan; 09-01-2005 at 06:48 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. Programming

Cast from String to char

Hello, This is my code: i'd like to like to add getenv("MYLIB") in the first case of my buffer inside of '1' , should i do the cast ? and how please ? Thank you. (1 Reply)
Discussion started by: chercheur857
1 Replies

2. Programming

warning: passing arg 1 of `inet_addr' makes pointer from integer without a cast

I use solaris10,following is tcp client code: #include "cliserv.h" int main(int argc,char argv){ struct sockaddr_in serv; char request,reply; int sockfd,n; if(argc!=2) err_quit("usage: tcpclient <IP address of server>"); if((sockfd=socket(PF_INET,SOCK_STREAM,0))<0) ... (1 Reply)
Discussion started by: konvalo
1 Replies

3. UNIX for Advanced & Expert Users

Sql dynamic table / dynamic inserts

I have a file that reads File (X.txt) Contents of record 1: rdrDESTINATION_ADDRESS (String) "91 971502573813" rdrDESTINATION_IMSI (String) "000000000000000" rdrORIGINATING_ADDRESS (String) "d0 movies" rdrORIGINATING_IMSI (String) "000000000000000" rdrTRAFFIC_EVENT_TIME... (0 Replies)
Discussion started by: magedfawzy
0 Replies

4. Programming

`strcat' makes pointer from integer without a cast

A question to ask. seq1 = "eeeeeeeeeeeeeeeeee"; seq2 = "dddddddddddddddddddd"; char a = '*'; strcat(*seq2, &a); strcat(*seq1, seq2); compilation warning: passing arg 1 of `strcat' makes pointer from integer without a cast thanks (4 Replies)
Discussion started by: cdbug
4 Replies

5. Programming

Can't I Cast sockaddr to sockaddr_in?!

I'm trying to grab client's port number, by doing the following code: //get client's port number - here we are not dealing with pointers //because the returned value will be passed as a parameter to htons() //htons() takes u_short, which is similar to short, parameter short... (1 Reply)
Discussion started by: f.ben.isaac
1 Replies

6. Red Hat

cast from const void* to unsigned int loses precision

Hello everey one, here i am attempting to compile a c++ project .it's throughing the following errors. my machine details are as follows: Linux chmclozr0119 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:19 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux errors: ===== Generating... (0 Replies)
Discussion started by: mannam srinivas
0 Replies

7. Programming

Help - Cast converts default int return type

What does the warning message 724 "Cast converts default int return type to." tell me. I am new to C. (used it some in college). We are migrating our c-code to 10.2.0.3.0. The programs compiled clean. However there were several warning messages that kick out. The most prominent warning is: ... (5 Replies)
Discussion started by: rtgreen
5 Replies
Login or Register to Ask a Question
ost::LinkedSingle(3)					     Library Functions Manual					      ost::LinkedSingle(3)

NAME
ost::LinkedSingle - Self managed single linked list object chain. SYNOPSIS
#include <object.h> Public Member Functions virtual LinkedSingle * getFirst (void) Get first linked object in list. virtual LinkedSingle * getLast (void) Gets the last object in the list. LinkedSingle * getNext (void) Get next object, for convenience. virtual void insert (LinkedSingle &obj) Insert object into chain. LinkedSingle & operator+= (LinkedSingle &obj) Protected Member Functions LinkedSingle () virtual ~LinkedSingle () Protected Attributes LinkedSingle * nextObject Detailed Description Self managed single linked list object chain. This is used for accumulating lists by using as a base class for a derived subclass. Author: David Sugar dyfet@gnutelephony.org Accumulating single linked list. Constructor &; Destructor Documentation ost::LinkedSingle::LinkedSingle () [inline], [protected] virtual ost::LinkedSingle::~LinkedSingle () [protected], [virtual] Member Function Documentation virtual LinkedSingle* ost::LinkedSingle::getFirst (void) [virtual] Get first linked object in list. This may be dynamically recast, and may refer to a master static bookmark pointer in a derived class. Otherwise it simply returns the current object. In a 'free' list, this may not only return the first object, but also set the first to next. Returns: pointer to first object in list. virtual LinkedSingle* ost::LinkedSingle::getLast (void) [virtual] Gets the last object in the list. This normally follows the links to the end. This is a virtual because derived class may include a static member bookmark for the current end. Returns: pointer to last object in list. LinkedSingle* ost::LinkedSingle::getNext (void) [inline] Get next object, for convenience. Derived class may use this with a dynamic cast. Returns: next object in list. virtual void ost::LinkedSingle::insert (LinkedSingle &obj) [virtual] Insert object into chain. This is a virtual because derived class may choose instead to perform an insert at head or tail, may manage bookmarks, and may add mutex lock. Parameters: object being inserted. LinkedSingle& ost::LinkedSingle::operator+= (LinkedSingle &obj) Member Data Documentation LinkedSingle* ost::LinkedSingle::nextObject [protected] Author Generated automatically by Doxygen for GNU CommonC++ from the source code. GNU CommonC++ Sat Jun 23 2012 ost::LinkedSingle(3)