Thursday, November 19, 2009

Firefox Shortcuts

Firefox Shortcuts:

  • Ctrl+ B: Open bookmarks folder
  • Ctrl+ D: Bookmarks the current website
  • Ctrl+ K: Go to search field
  • Ctrl+ L: Go to URL field
  • Ctrl+ I: Opens bookmarks in left panel
  • Ctrl+ J: Opens the Download window
  • Ctrl+ F: Fine something in current page
  • Ctrl+ S: Saves the web page
  • Ctrl+ E: Go to search bar
  • Ctrl+ G: Opens previous conducted search
  • Ctrl+ W: Close current tab
  • Ctrl+ R: Reload the current Page
  • Ctrl+ + : Zoom in
  • Ctrl+ - : Zoom out
  • Ctrl+ 0 : Zoom Reset
  • Ctrl+ T: Opens a new tab
  • Ctrl+ U: View the page source/html code
  • Ctrl+ O: open a file
  • Ctrl+ P: Print the current web page
  • Ctrl+ A: Select all
  • Ctrl+ H: Show all History
  • Ctrl+ N: Opens a new window

Saturday, June 14, 2008

40 Tips for Better Life - 2008

1. Take a 10-30 minute walk every day. And while you walk, smile. It is the ultimate anti-depressant.
2. Sit in silence for at least 10 minutes each day.
3. Buy a DVR and tape your late night shows and get more sleep.
4. When you wake up in the morning complete the following statement, ‘My purpose is to __________
today.’
5. Live with the 3 E’s — Energy, Enthusiasm, and Empathy.
6. Play more games and read more books than you did in 2007.
7. Make time to practice meditation, and prayer. They provide us with daily fuel for our busy lives.
8. Spend time with people over the age of 70 and under the age of 6.
9. Dream more while you are awake.
10. Eat more foods that grow on trees and plants and eat less food that is manufactured in plants.
11. Drink green tea and plenty of water. Eat blueberries, wild Alaskan salmon, broccoli, almonds &
walnuts.
12. Try to make at least three people smile each day.
13. Clear clutter from your house, your car, your desk and let new and flowing energy into your life.
14. Don’t waste your precious energy on gossip, OR issues of the past, negative thoughts or things you
cannot control. Instead invest your energy in the positive present moment.
15. Realize that life is a school and you are here to learn. Problems are simply part of the curriculum
that appear and fade away like algebra class but the lessons you learn will last a lifetime.
16. Eat breakfast like a king, lunch like a prince and dinner like a college kid with a maxed out charge
card.
17. Smile and laugh more. It will keep the nagative blues away.
18. Life isn’t fair, but it’s still good.
19. Life is too short to waste time hating anyone.
20. Don’t take yourself so seriously. No one else does.
21. You don’t have to win every argument. Agree to disagree.
22. Make peace with your past so it won’t spoil the present.
23. Don’t compare your life to others’. You have no idea what their journey is all about.
24. No one is in charge of your happiness except you.
25. Frame every so-called disaster with these words: ‘In five years, will this matter?’
26. Forgive everyone for everything.
27. What other people think of you is none of your business.
28. Remember God heals everything.
29. However good or bad a situation is, it will change.
30. Your job won’t take care of you when you are sick. Your friends will. Stay in touch.
31. Get rid of anything that isn’t useful, beautiful or joyful.
32. Envy is a waste of time. You already have all you need.
33. The best is yet to come.
34. No matter how you feel, get up, dress up and show up.
35. Do the right thing!
36. Call your family often.
37. Each night before you go to bed complete the following statements: I am thankful for _______.
Today I accomplished ____.
38. Remember that you are too blessed to be stressed.
39. Enjoy the ride. Remember this is not Disney World and you certainly don’t want a fast pass. You
only have one ride through life so make the most of it and enjoy the ride.
40. Laugh when you can, apologize when you should, and let go of what you can’t change

Saturday, June 7, 2008

Format your Nokia phone

Got a Nokia series 60 2nd edition phone? ok then you are at right place just read on.
When you are new to this phone it may be possible that you done something wrong to the phone and its system files when you were using a file manager or something caused by the installation of a software. then it need its software again... It can be also done by a simple step.
1. Backup ur all data and contacts
2. Switch off the phone
3. Remove the memory card and sim.
4. Press and hold on the buttons *,the call key and the numeral button 3.
5. While holding the above three buttons switch on the phone
6. Keep on holding while it appears a black band written formatting
7. Wait till it completes
8. It asks for sim card
9. U r done

it works on the phones like nokia 6600,3230,7610...a long list is there. Now enjoy a new phone.

Interview Questions in C/C++ Programming

What is encapsulation??

Containing and hiding information about an object, such as internal data structures and code. Encapsulation isolates the internal complexity of an object's operation from the rest of the application. For example, a client component asking for net revenue from a business object need not know the data's origin.

What is inheritance?

Inheritance allows one class to reuse the state and behavior of another class. The derived class inherits the properties and method implementations of the base class and extends it by overriding methods and adding additional properties and methods.

What is Polymorphism??

Polymorphism allows a client to treat different objects in the same way even if they were created from different classes and exhibit different behaviors.

You can use implementation inheritance to achieve polymorphism in languages such as C++ and Java.

Base class object's pointer can invoke methods in derived class objects.

You can also achieve polymorphism in C++ by function overloading and operator overloading.

What is constructor or ctor?

Constructor creates an object and initializes it. It also creates vtable for virtual functions. It is different from other methods in a class.

What is destructor?

Destructor usually deletes any extra resources allocated by the object.

What is default constructor?

Constructor with no arguments or all the arguments has default values.

What is copy constructor?

Constructor which initializes the it's object member variables ( by shallow copying) with another object of the same class. If you don't implement one in your class then compiler implements one for you.

for example:
Boo Obj1(10); // calling Boo constructor

Boo Obj2(Obj1); // calling boo copy constructor
Boo Obj2 = Obj1;// calling boo copy constructor

When are copy constructors called?

Copy constructors are called in following cases:
a) when a function returns an object of that class by value
b) when the object of that class is passed by value as an argument to a function
c) when you construct an object based on another object of the same class
d) When compiler generates a temporary object

What is assignment operator?

Default assignment operator handles assigning one object to another of the same class. Member to member copy (shallow copy)

What are all the implicit member functions of the class? Or what are all the functions which compiler implements for us if we don't define one.??

default ctor
copy ctor
assignment operator
default destructor
address operator

What is conversion constructor?

constructor with a single argument makes that constructor as conversion ctor and it can be used for type conversion.

for example:

class Boo
{
public:
Boo( int i );
};

Boo BooObject = 10 ; // assigning int 10 Boo object

What is conversion operator??

class can have a public method for specific data type conversions.

for example:
class Boo
{
double value;
public:
Boo(int i )
operator double()
{
return value;
}
};

Boo BooObject;

double i = BooObject; // assigning object to variable i of type double. now conversion operator gets called to assign the value.

What is diff between malloc()/free() and new/delete?

malloc allocates memory for object in heap but doesn't invoke object's constructor to initiallize the object.

new allocates memory and also invokes constructor to initialize the object.

malloc() and free() do not support object semantics
Does not construct and destruct objects
string * ptr = (string *)(malloc (sizeof(string)))
Are not safe
Does not calculate the size of the objects that it construct
Returns a pointer to void
int *p = (int *) (malloc(sizeof(int)));
int *p = new int;
Are not extensible
new and delete can be overloaded in a class

"delete" first calls the object's termination routine (i.e. its destructor) and then releases the space the object occupied on the heap memory. If an array of objects was created using new, then delete must be told that it is dealing with an array by preceding the name with an empty []:-

Int_t *my_ints = new Int_t[10];

...

delete []my_ints;

what is the diff between "new" and "operator new" ?


"operator new" works like malloc.

What is difference between template and macro??

There is no way for the compiler to verify that the macro parameters are of compatible types. The macro is expanded without any special type checking.

If macro parameter has a postincremented variable ( like c++ ), the increment is performed two times.

Because macros are expanded by the preprocessor, compiler error messages will refer to the expanded macro, rather than the macro definition itself. Also, the macro will show up in expanded form during debugging.

for example:

Macro:

#define min(i, j) (i <>

template:
template
T min (T i, T j)
{
return i < j ? i : j;
}




What are C++ storage classes?

auto
register
static
extern

auto: the default. Variables are automatically created and initialized when they are defined and are destroyed at the end of the block containing their definition. They are not visible outside that block

register: a type of auto variable. a suggestion to the compiler to use a CPU register for performance

static: a variable that is known only in the function that contains its definition but is never destroyed and retains its value between calls to that function. It exists from the time the program begins execution

extern: a static variable whose definition and placement is determined when all object and library modules are combined (linked) to form the executable code file. It can be visible outside the file where it is defined.

What are storage qualifiers in C++ ?

They are..

const
volatile
mutable

Const keyword indicates that memory once initialized, should not be altered by a program.

volatile keyword indicates that the value in the memory location can be altered even though nothing in the program
code modifies the contents. for example if you have a pointer to hardware location that contains the time, where hardware changes the value of this pointer variable and not the program. The intent of this keyword to improve the optimization ability of the compiler.

mutable keyword indicates that particular member of a structure or class can be altered even if a particular structure variable, class, or class member function is constant.

struct data
{
char name[80];
mutable double salary;
}

const data MyStruct = { "Satish Shetty", 1000 }; //initlized by complier

strcpy ( MyStruct.name, "Shilpa Shetty"); // compiler error
MyStruct.salaray = 2000 ; // complier is happy allowed

What is reference ??

reference is a name that acts as an alias, or alternative name, for a previously defined variable or an object.

prepending variable with "&" symbol makes it as reference.

for example:

int a;
int &b = a;

What is passing by reference?

Method of passing arguments to a function which takes parameter of type reference.

for example:

void swap( int & x, int & y )
{
int temp = x;
x = y;
y = temp;
}

int a=2, b=3;

swap( a, b );

Basically, inside the function there won't be any copy of the arguments "x" and "y" instead they refer to original variables a and b. so no extra memory needed to pass arguments and it is more efficient.

When do use "const" reference arguments in function?

a) Using const protects you against programming errors that inadvertently alter data.
b) Using const allows function to process both const and non-const actual arguments, while a function without const in the prototype can only accept non constant arguments.
c) Using a const reference allows the function to generate and use a temporary variable appropriately.

When are temporary variables created by C++ compiler?

Provided that function parameter is a "const reference", compiler generates temporary variable in following 2 ways.

a) The actual argument is the correct type, but it isn't Lvalue

double Cube(const double & num)
{
num = num * num * num;
return num;

}

double temp = 2.0;
double value = cube(3.0 + temp); // argument is a expression and not a Lvalue;

b) The actual argument is of the wrong type, but of a type that can be converted to the correct type

long temp = 3L;
double value = cuberoot ( temp); // long to double conversion

What is virtual function?

When derived class overrides the base class method by redefining the same function, then if client wants to access redefined the method from derived class through a pointer from base class object, then you must define this function in base class as virtual function.

class parent
{
void Show()
{
cout << "i'm parent" << endl;
}
};

class child: public parent
{
void Show()
{
cout << "i'm child" << endl;
}

};

parent * parent_object_ptr = new child;

parent_object_ptr->show() // calls parent->show() i

now we goto virtual world...

class parent
{
virtual void Show()
{
cout << "i'm parent" << endl;
}
};

class child: public parent
{
void Show()
{
cout << "i'm child" << endl;
}

};

parent * parent_object_ptr = new child;

parent_object_ptr->show() // calls child->show()

What is pure virtual function? or what is abstract class?

When you define only function prototype in a base class without implementation and do the complete implementation in derived class. This base class is called abstract class and client won't able to instantiate an object using this base class.

You can make a pure virtual function or abstract class this way..

class Boo
{
void foo() = 0;
}

Boo MyBoo; // compilation error


What is Memory alignment??

The term alignment primarily means the tendency of an address pointer value to be a multiple of some power of two. So a pointer with two byte alignment has a zero in the least significant bit. And a pointer with four byte alignment has a zero in both the two least significant bits. And so on. More alignment means a longer sequence of zero bits in the lowest bits of a pointer.

What problem does the namespace feature solve?

Multiple providers of libraries might use common global identifiers causing a name collision when an application tries to link with two or more such libraries. The namespace feature surrounds a library's external declarations with a unique namespace that eliminates the potential for those collisions.

namespace [identifier] { namespace-body }

A namespace declaration identifies and assigns a name to a declarative region.
The identifier in a namespace declaration must be unique in the declarative region in which it is used. The identifier is the name of the namespace and is used to reference its members.

What is the use of 'using' declaration?

A using declaration makes it possible to use a name from a namespace without the scope operator.

What is an Iterator class?

A class that is used to traverse through the objects maintained by a container class. There are five categories of iterators: input iterators, output iterators, forward iterators, bidirectional iterators, random access. An iterator is an entity that gives access to the contents of a container object without violating encapsulation constraints. Access to the contents is granted on a one-at-a-time basis in order. The order can be storage order (as in lists and queues) or some arbitrary order (as in array indices) or according to some ordering relation (as in an ordered binary tree). The iterator is a construct, which provides an interface that, when called, yields either the next element in the container, or some value denoting the fact that there are no more elements to examine. Iterators hide the details of access to and update of the elements of a container class. Something like a pointer.

What is a dangling pointer?

A dangling pointer arises when you use the address of an object after its lifetime is over. This may occur in situations like returning addresses of the automatic variables from a function or using the address of the memory block after it is freed.

What do you mean by Stack unwinding?

It is a process during exception handling when the destructor is called for all local objects in the stack between the place where the exception was thrown and where it is caught.

Name the operators that cannot be overloaded??

sizeof, ., .*, .->, ::, ?:

What is a container class? What are the types of container classes?

A container class is a class that is used to hold objects in memory or external storage. A container class acts as a generic holder. A container class has a predefined behavior and a well-known interface. A container class is a supporting class whose purpose is to hide the topology used for maintaining the list of objects in memory. When a container class contains a group of mixed objects, the container is called a heterogeneous container; when the container is holding a group of objects that are all the same, the container is called a homogeneous container.

What is inline function??

The __inline keyword tells the compiler to substitute the code within the function definition for every instance of a function call. However, substitution occurs only at the compiler's discretion. For example, the compiler does not inline a function if its address is taken or if it is too large to inline.

What is overloading??

With the C++ language, you can overload functions and operators. Overloading is the practice of supplying more than one definition for a given function name in the same scope.

- Any two functions in a set of overloaded functions must have different argument lists.
- Overloading functions with argument lists of the same types, based on return type alone, is an error.

What is Overriding?

To override a method, a subclass of the class that originally declared the method must declare a method with the same name, return type (or a subclass of that return type), and same parameter list.
The definition of the method overriding is:
· Must have same method name.
· Must have same data type.
· Must have same argument list.
Overriding a method means that replacing a method functionality in child class. To imply overriding functionality we need parent and child classes. In the child class you define the same method signature as one defined in the parent class.

What is "this" pointer?

The this pointer is a pointer accessible only within the member functions of a class, struct, or union type. It points to the object for which the member function is called. Static member functions do not have a this pointer.

When a nonstatic member function is called for an object, the address of the object is passed as a hidden argument to the function. For example, the following function call

myDate.setMonth( 3 );

can be interpreted this way:

setMonth( &myDate, 3 );

The object's address is available from within the member function as the this pointer. It is legal, though unnecessary, to use the this pointer when referring to members of the class.

What happens when you make call "delete this;" ??

The code has two built-in pitfalls. First, if it executes in a member function for an extern, static, or automatic object, the program will probably crash as soon as the delete statement executes. There is no portable way for an object to tell that it was instantiated on the heap, so the class cannot assert that its object is properly instantiated. Second, when an object commits suicide this way, the using program might not know about its demise. As far as the instantiating program is concerned, the object remains in scope and continues to exist even though the object did itself in. Subsequent dereferencing of the pointer can and usually does lead to disaster.

You should never do this. Since compiler does not know whether the object was allocated on the stack or on the heap, "delete this" could cause a disaster.

How virtual functions are implemented C++?

Virtual functions are implemented using a table of function pointers, called the vtable. There is one entry in the table per virtual function in the class. This table is created by the constructor of the class. When a derived class is constructed, its base class is constructed first which creates the vtable. If the derived class overrides any of the base classes virtual functions, those entries in the vtable are overwritten by the derived class constructor. This is why you should never call virtual functions from a constructor: because the vtable entries for the object may not have been set up by the derived class constructor yet, so you might end up calling base class implementations of those virtual functions

What is name mangling in C++??

The process of encoding the parameter types with the function/method name into a unique name is called name mangling. The inverse process is called demangling.

For example Foo::bar(int, long) const is mangled as `bar__C3Fooil'.
For a constructor, the method name is left out. That is Foo::Foo(int, long) const is mangled as `__C3Fooil'.

What is the difference between a pointer and a reference?

A reference must always refer to some object and, therefore, must always be initialized; pointers do not have such restrictions. A pointer can be reassigned to point to different objects while a reference always refers to an object with which it was initialized.

How are prefix and postfix versions of operator++() differentiated?

The postfix version of operator++() has a dummy parameter of type int. The prefix version does not have dummy parameter.

What is the difference between const char *myPointer and char *const myPointer?

Const char *myPointer is a non constant pointer to constant data; while char *const myPointer is a constant pointer to non constant data.

How can I handle a constructor that fails?

throw an exception. Constructors don't have a return type, so it's not possible to use return codes. The best way to signal constructor failure is therefore to throw an exception.

How can I handle a destructor that fails?

Write a message to a log-file. But do not throw an exception.
The C++ rule is that you must never throw an exception from a destructor that is being called during the "stack unwinding" process of another exception. For example, if someone says throw Foo(), the stack will be unwound so all the stack frames between the throw Foo() and the } catch (Foo e) { will get popped. This is called stack unwinding.
During stack unwinding, all the local objects in all those stack frames are destructed. If one of those destructors throws an exception (say it throws a Bar object), the C++ runtime system is in a no-win situation: should it ignore the Bar and end up in the } catch (Foo e) { where it was originally headed? Should it ignore the Foo and look for a } catch (Bar e) { handler? There is no good answer -- either choice loses information.
So the C++ language guarantees that it will call terminate() at this point, and terminate() kills the process. Bang you're dead.

What is Virtual Destructor?

Using virtual destructors, you can destroy objects without knowing their type - the correct destructor for the object is invoked using the virtual function mechanism. Note that destructors can also be declared as pure virtual functions for abstract classes.

if someone will derive from your class, and if someone will say "new Derived", where "Derived" is derived from your class, and if someone will say delete p, where the actual object's type is "Derived" but the pointer p's type is your class.


Can you think of a situation where your program would crash without reaching the breakpoint which you set at the beginning of main()?

C++ allows for dynamic initialization of global variables before main() is invoked. It is possible that initialization of global will invoke some function. If this function crashes the crash will occur before main() is entered.

Name two cases where you MUST use initialization list as opposed to assignment in constructors.

Both non-static const data members and reference data members cannot be assigned values; instead, you should use initialization list to initialize them.

Can you overload a function based only on whether a parameter is a value or a reference?

No. Passing by value and by reference looks identical to the caller.

What are the differences between a C++ struct and C++ class?

The default member and base class access specifiers are different.

The C++ struct has all the features of the class. The only differences are that a struct defaults to public member access and public base class inheritance, and a class defaults to the private access specifier and private base class inheritance.

What does extern "C" int func(int *, Foo) accomplish?

It will turn off "name mangling" for func so that one can link to code compiled by a C compiler.

How do you access the static member of a class?

::

What is multiple inheritance(virtual inheritance)? What are its advantages and disadvantages?

Multiple Inheritance is the process whereby a child can be derived from more than one parent class. The advantage of multiple inheritance is that it allows a class to inherit the functionality of more than one base class thus allowing for modeling of complex relationships. The disadvantage of multiple inheritance is that it can lead to a lot of confusion(ambiguity) when two base classes implement a method with the same name.

What are the access privileges in C++? What is the default access level?

The access privileges in C++ are private, public and protected. The default access level assigned to members of a class is private. Private members of a class are accessible only within the class and by friends of the class. Protected members are accessible by the class itself and it's sub-classes. Public members of a class can be accessed by anyone.

What is a nested class? Why can it be useful?

A nested class is a class enclosed within the scope of another class. For example:

// Example 1: Nested class
//
class OuterClass
{
class NestedClass
{
// ...
};
// ...
};
Nested classes are useful for organizing code and controlling access and dependencies. Nested classes obey access rules just like other parts of a class do; so, in Example 1, if NestedClass is public then any code can name it as OuterClass::NestedClass. Often nested classes contain private implementation details, and are therefore made private; in Example 1, if NestedClass is private, then only OuterClass's members and friends can use NestedClass.

When you instantiate as outer class, it won't instantiate inside class.

What is a local class? Why can it be useful?

local class is a class defined within the scope of a function -- any function, whether a member function or a free function. For example:

// Example 2: Local class
//
int f()
{
class LocalClass
{
// ...
};
// ...
};
Like nested classes, local classes can be a useful tool for managing code dependencies.

Can a copy constructor accept an object of the same class as parameter, instead of reference of the object?

No. It is specified in the definition of the copy constructor itself. It should generate an error if a programmer specifies a copy constructor with a first argument that is an object and not a reference

Interview questions asked in C/ C++

1. Is it possible to have Virtual Constructor? If yes, how? If not, Why not possible ?


Ans:

There is nothing like Virtual Constructor. The Constructor cant be virtual as the constructor is a code which is responsible for creating a instance of a class and it cant be delegated to any other object by virtual keyword means.


2. What about Virtual Destructor?

Ans:

Yes there is a Virtual Destructor. A destructor can be virtual as it is possible as at runtime depending on the type of object baller is balling to , proper destructor will be called.


3. What is Pure Virtual Function? Why and when it is used ?
Ans:

The abstract class whose pure virtual method has to be implemented by all the classes which derive on these. Otherwise it would result in a compilation error.
This construct should be used when one wants to ensure that all the derived classes implement the method defined as pure virtual in base class.


4. What is problem with Runtime type identification?
Ans:

The run time type identification comes at a cost of performance penalty. Compiler maintains the class.


5. How Virtual functions call up is maintained?
Ans:

Through Look up tables added by the compile to every class image. This also leads to performance penalty.


6. Can inline functions have a recursion?
Ans:

No.
Syntax wise It is allowed. But then the function is no longer Inline. As the compiler will never know how deep the recursion is at compilation time.


7. How do you link a C++ program to C functions?
Ans:

By using the extern "C" linkage specification around the C function declarations.
Programmers should know about mangled function names and type-safe linkages. Then they should explain how the extern "C" linkage specification statement turns that feature off during compilation so that the linker properly links function calls to C functions.


8. Explain the scope resolution operator?
Ans:

It permits a program to reference an identifier in the global scope that has been hidden by another identifier with the same name in the local scope.


9. How many ways are there to initialize an int with a constant?
Ans:

1. int foo = 123;
Ans:

2. int bar(123);


10. What is your reaction to this line of code? delete this;
Ans:

It is not a good programming Practice.
A good programmer will insist that you should absolutely never use the statement if the class is to be used by other programmers and instantiated as static, extern, or automatic objects. That much should be obvious.
The code has two built-in pitfalls. First, if it executes in a member function for an extern, static, or automatic object, the program will probably crash as soon as the delete statement executes. There is no portable way for an object to tell that it was instantiated on the heap, so the class cannot assert that its object is properly instantiated. Second, when an object commits suicide this way, the using program might not know about its demise. As far as the instantiating program is concerned, the object remains in scope and continues to exist even though the object did itself in. Subsequent dereferencing of the baller can and usually does lead to disaster. I think that the language rules should disallow the idiom, but that's another matter.


11. What is the difference between a copy constructor and an overloaded assignment operator?
Ans:

A copy constructor constructs a new object by using the content of the argument object. An overloaded assignment operator assigns the contents of an existing object to another existing object of the same class.


12. When should you use multiple inheritance?
Ans:

There are three acceptable answers:- "Never," "Rarely," and "When the problem domain cannot be accurately modeled any other way."

Consider an Asset class, Building class, Vehicle class, and CompanyCar class. All company cars are vehicles. Some company cars are assets because the organizations own them. Others might be leased. Not all assets are vehicles. Money accounts are assets. Real estate holdings are assets. Some real estate holdings are buildings. Not all buildings are assets. Ad infinitum. When you diagram these relationships, it becomes apparent that multiple inheritance is a likely and intuitive way to model this common problem domain. The applicant should understand, however, that multiple inheritance, like a chainsaw, is a useful tool that has its perils, needs respect, and is best avoided except when nothing else will do.


13. What is a virtual destructor?
Ans:

The simple answer is that a virtual destructor is one that is declared with the virtual attribute.
The behavior of a virtual destructor is what is important. If you destroy an object through a baller or reference to a base class, and the base-class destructor is not virtual, the derived-class destructors are not executed, and the destruction might not be comple


14. Can a constructor throw a exception? How to handle the error when the constructor fails?
Ans:

The constructor never throws a error.


15. What are the debugging methods you use when came across a problem?
Debugging with tools like :

Ans:

GDB, DBG, Forte, Visual Studio.

Analyzing the Core dump.

Using tusc to trace the last system call before crash.

Putting Debug statements in the program source code.


16. How the compilers arranges the various sections in the executable image?
Ans:

The executable had following sections:-

Data Section (uninitialized data variable section, initialized data variable section )

Code Section

Remember that all static variables are allocated in the initialized variable section.


17. Explain the ISA and HASA class relationships. How would you implement each in a class design?
Ans:

A specialized class "is" a specialization of another class and, therefore, has the ISA relationship with the other class.
This relationship is best implemented by embedding an object of the Salary class in the Employee class.


18. When is a template a better solution than a base class?
Ans:

When you are designing a generic class to contain or otherwise manage objects of other types, when the format and behavior of those other types are unimportant to their containment or management, and particularly when those other types are unknown (thus, the generality) to the designer of the container or manager class.


19. What are the differences between a C++ struct and C++ class?
Ans:

The default member and base-class access specifies are different.
This is one of the commonly misunderstood aspects of C++. Believe it or not, many programmers think that a C++ struct is just like a C struct, while a C++ class has inheritance, access specifies, member functions, overloaded operators, and so on. Actually, the C++ struct has all the features of the class. The only differences are that a struct defaults to public member access and public base-class inheritance, and a class defaults to the private access specified and private base-class inheritance.


20. How do you know that your class needs a virtual destructor?
Ans:

If your class has at least one virtual function, you should make a destructor for this class virtual. This will allow you to delete a dynamic object through a baller to a base class object. If the destructor is non-virtual, then wrong destructor will be invoked during deletion of the dynamic object.


21. What is the difference between new/delete and malloc/free?
Ans:

Malloc/free do not know about constructors and destructors. New and delete create and destroy objects, while malloc and free allocate and deallocate memory.


22. What happens when a function throws an exception that was not specified by an exception specification for this function?
Ans:

Unexpected() is called, which, by default, will eventually trigger abort().


23. Can you think of a situation where your program would crash without reaching the breakball, which you set at the beginning of main()?
Ans:

C++ allows for dynamic initialization of global variables before main() is invoked. It is possible that initialization of global will invoke some function. If this function crashes the crash will occur before main() is entered.


24. What issue do auto_ptr objects address?
Ans:

If you use auto_ptr objects you would not have to be concerned with heap objects not being deleted even if the exception is thrown.


25. Is there any problem with the following:
Ans:

char *a=NULL; char& p = *a;?
The result is undefined. You should never do this. A reference must always refer to some object.


26. Why do C++ compilers need name mangling?
Ans:


Name mangling is the rule according to which C++ changes function's name into function signature before passing that function to a linker. This is how the linker differentiates between different functions with the same name.


27. Is there anything you can do in C++ that you cannot do in C?

Ans:


No. There is nothing you can do in C++ that you cannot do in C. After all you can write a C++ compiler in C

  • What are the major differences between C and C++?
    • What are the differences between new and malloc?
    • What is the difference between delete and delete[]?
    • What are the differences between a struct in C and in C++?
    • What are the advantages/disadvantages of using #define?
    • What are the advantages/disadvantages of using inline and const?
  • What is the difference between a baller and a reference?
    • When would you use a baller? A reference?
    • What does it mean to take the address of a reference?
  • What does it mean to declare a function or variable as static?
  • What is the order of initalization for data?
  • What is name mangling/name decoration?
    • What kind of problems does name mangling cause?
    • How do you work around them?
  • What is a class?
    • What are the differences between a struct and a class in C++?
    • What is the difference between public, private, and protected access?
    • For class CFoo { }; what default methods will the compiler generate for you>?
    • How can you force the compiler to not generate them?
    • What is the purpose of a constructor? Destructor?
    • What is a constructor initializer list?
    • When must you use a constructor initializer list?
    • What is a:
      • Constructor?
      • Destructor?
      • Default constructor?
      • Copy constructor?
      • Conversion constructor?
    • What does it mean to declare a...
      • member function as virtual?
      • member function as static?
      • member function as static?
      • member variable as static?
      • destructor as static?
    • Can you explain the term "resource acquisition is initialization?"
    • What is a "pure virtual" member function?
    • What is the difference between public, private, and protected inheritance?
    • What is virtual inheritance?
    • What is placement
new?
    • What is the difference between
operator new

and the

new

operator?

  • What is exception handling?
    • Explain what happens when an exception is thrown in C++.
    • What happens if an exception is not caught?
    • What happens if an exception is throws from an object's constructor?
    • What happens if an exception is throws from an object's destructor?
    • What are the costs and benefits of using exceptions?
    • When would you choose to return an error code rather than throw an exception?
  • What is a template?
  • What is partial specialization or template specialization?
  • How can you force instantiation of a template?
  • What is an iterator?
  • What is an algorithm (in terms of the STL/C++ standard library)?
  • What is
std::auto_ptr?
  • What is wrong with this statement?
std::auto_ptr ptr(new char[10]);

It is possible to build a C++ compiler on top of a C compiler. How would you do this?

Friday, May 23, 2008

ALL NEW MOBILE UNLOCK CODE !!


SAMSUNG

t 209 unlock 100%ok
try it:Make sure to use a SIM card that is not accepted by that phone!

Enter reset code first?
*2767*3855# let it reboot

then enter...
*7465625*638*00000000*00000000# (to change NCK code to 00000000)

then enter...
#7465625*638*00000000# (to permanently unlock the phone


D807 NETWORK LOCK
I have tested this with my D807 and it works.

1. If you have changed your phone password, change your password back to the default 8 zeros (00000000).
1a. NOTE (Modification here by my experience): Goto SETTINGS, SECURITY, then SIM LOCK and disable this before proceeding.
2. Put a SIM card that is from a network other than the one your phone is locked to (I used a TMOBILE card from my buddy Darin)
3. When Incorrect SIM (I got invalid card and there was a sim card graphic spinning) error comes up, type *#9998*3323#.
4. White screen will appear with an exit option. Press the right softkey. (I ended up pushing the down key to get a menu)
5. From the menu that appears, select the Malloc Fail option. This will reboot the phone and the normal service screens will appear.
6. Type *0141# and then press the green call key. "Personalization" or "Personalized" will appear.
7. Turn off your phone and put the original SIM back in.
8. Turn on your phone. You will receive a prompt to enter a password.
9. Type 8 zeros (00000000) (This is because the SIM LOCK Mentioned earlier gets switched back on)
10. Completed. You have now unlocked your phone.



D807 CONTACT TRANSFER
.....................
I did some searching and found out that with the studio software from samsung you are able to edit and move contacts from your phone to the sim and back. Or copy from the phone and put them on the sim card. Just thought you all should know as there is no menu option on the phone.


************************************************** **************************************************

SPICE:
S404 enable COM port: *#42253646633# -> Device -> Set UART -> PS -> UART1/115200
S410 engineer mode: *#3646633#
S900 software version: *#8375#
S900 serial no: *#33778#
USER UNLOCK CODE:1122

************************************************** **************************************************
CHINESE MODELS:
default user code: 1122, 3344, 1234, 5678
Engineer mode: *#110*01#
Factory mode: *#987#
Enable COM port: *#110*01# -> Device -> Set UART -> PS Config -> UART1/115200
Restore factory settings: *#987*99#
LCD contrast: *#369#
software version: *#800#
software version: *#900#
set default language: *#0000# Send
set English language: *#0044# Send
set English language (new firmware): *#001# Send



************************************************** **************************************************
LG:
KG300 NVRAM format: 2945#*# -> menu 15


************************************************** **************************************************

SONY ERICSSON
I was speaking with a Sony Ericsson development tech today and he's given me some great codes!!

Write down your IMEI number. You can get this with the following:

*#06#

Then, you need to get into the Personalize menu with the following keypress:

< ** <

(Left, Star,Star, Left)

You then will need to select the Network at the top ( This will be locked )

It will ask for the code (the one that everyone asks for) and you need to enter in the following:

7993XXXX (where XXXX is the FIRST FOUR digits of your IMEI Number)

It will report an error and reduce your lock count by 1. Don't worry about this.

Repeat the process and enter the following:

6309XXXX ( where XXXX is the SECOND FOUR digits of your IMEI Number)

Again, it will reduce by one. Repeat again with the next two numbers:

093167XX ( where XX is the 9th and 10th digits of your IMEI Number)
323343XX ( where XX is the 11th and 12th digits of your IMEI Number)

And finally, you will need to repeat the process just one more time. This is very important, you will need to enter the following code:

XXXXYYYY - Where XXXX is the SECOND FOUR digits of your IMEI and YYYY is the FIRST FOUR digits of your IMEI.

You have to be careful, there are a few steps to follow, but these are the codes that the technicians use to unlock and test the phones that they have in for R & D.

I was very excited when I got these and it worked perfectly. I have unlocked two phones now, both K608i - One that was with Optus (Australia) and the other with Three (Australia) without any problem



************************************************** **************************************************


MOTOROLLA - F3:
Motofone F3 software version: **9999* Send
***300* Set SIM Pin
***310* / ***311* SIM Pin ON | OFF
***000* Reset Factory settings
***644* Set Voicemail number
***260* / ***261* Auto keypad lock ON | OFF
***510* / ***511* Voice Prompts ON | OFF
***160* / ***161* Restricted Calling (Phonebook only) ON | OFF
***200608* Send: software version
***200606* Send: software version
***200806* Send: flex version
***250* / ***251* Keypad tones ON | OFF
***470* Select time format
***500* /***501* Prepaid Balance Display ON | OFF
***520* Change language

L6 hold * 65512890