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?

Answers were Sorted based on User's Feedback



suppose A is a base class and B is the derved class. Both have a method foo which is defined as a ..

Answer / nm

The answer is that B->foo gets calle, and why ? I found a
good explanation of that here:

http://en.wikipedia.org/wiki/Virtual_table

Is This Answer Correct ?    3 Yes 1 No

suppose A is a base class and B is the derved class. Both have a method foo which is defined as a ..

Answer / 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

suppose A is a base class and B is the derved class. Both have a method foo which is defined as a ..

Answer / suchi

It depends the pointer points to the object of which class.
If the pointer points to Class A, then the method defined
in class A will be called, and if the pointer points to
class B, then the method defined in class B will be called.

Is This Answer Correct ?    2 Yes 6 No

Post New Answer

More OOPS Interview Questions

What is interface in oop?

0 Answers  


What is cohesion in oop?

0 Answers  


What is virtual function?where and when is it used?

2 Answers   Sitel,


What is inheritance in simple words?

0 Answers  


given a set based questions and 5 questions based on it next data sufficiciency questions 2 and 2/3 english sentence completion with options very easy and 2 synononmys paragraph with 10 questions 10 minutes replace =,-,*,% with -,%,+,* type questions 5 3 questions lik following itssickhere itssickthere itssickhere istsickhere which is nt alike the others very easy

0 Answers   DELL,


#include <string.h> #include <stdio.h> #include <stdlib.h> #include <conio.h> void select(char *items, int count); int main(void) { char s[255]; printf("Enter a string:"); gets(s); select(s, strlen(s)); printf("The sorted string is: %s.\n", s); getch(); return 0; } void select(char *items, int count) { register int a, b, c; int exchange; char t; for(a = 0; a < count-1; ++a) { exchange = 0; c = a; t = items[ a ]; for(b = a + 1; b < count; ++b) { if(items[ b ] < t) { c = b; t = items[ b ]; exchange = 1; } } if(exchange) { items[ c ] = items[ a ]; items[ a ] = t; } } } design an algorithm for Selection Sort

0 Answers  


what is namespace? what are the uses of namespace?

1 Answers  


Will I be able to get a picture in D drive to the c++ program? If so, help me out?

0 Answers  


What does I oop mean?

0 Answers  


What is object and example?

0 Answers  


Is data hiding and abstraction same?

0 Answers  


WHAT IS THE DIFFERENCE BETWEEN OBJECT BASED & OBJECT ORIENTD PROGRAMMING LANGUAGE.(GIVE AT LIST 4 PIONT)

1 Answers   TCS,


Categories