Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

suppose A is a base class and B is the derved class. Both
have a method foo which is defined as a virtual method in
the base class. You have a pointer of classs B and you
typecast it to A. Now when you call pointer->foo, which
method gets called?

The next part of the question is, how does the compiler
know which method to call?

Answer Posted / rahul

the answer is that compiler does only the the type checking at compile time it checks only that the type of reference or the type of object is being assigned to the type is assignable or not(i.e parent child relationship or cast operation should be valid otherwise it will give you compile time error) and compiler conveys the message to the runtime that this operation is valid so no type checking is done at run time, at runtime function call depends upon the actual object being referred by the type but the existance of that function is checked in the type class if the function doesn't exist in the type class the function will not be called even though it exist in the class which is being instantiated by type(reference type)

for example A a = new B();
a.foo();
here we are calling the foo() method of class B(because object of class B is being instantiated)using class A reference now here when we compile this program the compiler checks for foo() method in class A if this method doesn't exist in class A compiler even will not compile your program

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

INSTANCE FIELDS DECLARED private ARE ACCESSIBLE BY THE METHODS ONLY.CAN WE CHANGE THE private FIELD OF AN OBJECT IN A METHOD OF SOME OTHER OBJECT OF THE SAME CLASS?

2202


How is polymorphism achieved?

1055


What is a superclass in oop?

1169


What is overriding vs overloading?

1058


IS IT NECESSARY TO INITIALIZE VARIABLE? WHAT IF THE INSTANCE VARIABLE IS DECLARED final ? IS IT NECESSARY TO INITIALIZE THE final VARIABLE AT THE TIME OF THEIR DECLARATION?

2062


What is polymorphism used for?

1060


• What are the desirable attributes for memory managment?

2225


What is class and object in oops?

1138


class type to basic type conversion

2398


What language is oop?

1007


What is encapsulation selenium?

999


write a program that takes input in digits and display the result in words from 1 to 1000

2414


assume the program must insert 4 elements from the key board and then do the following programs.sequential search(search one of the elements),using insertion sort(sort the element) and using selection sort(sort the element).

2108


what are the realtime excercises in C++?

2833


Why is object oriented programming so hard?

1076