C++ Quiz starts here...>


by powergirl
Tags: here>, quiz, starts
powergirl
#1
Jan20-07, 08:30 AM
P: n/a
Let me start a Quiz based on c++ programming in this thread.
You are requested to give the right answer in quotes;
RULE:
No special rules are there.Anyway,
>>The person who tells the right answer must post the next question,No one must post Q's in between.
The person who answers must post a question,next to Ur answer.

Think and answer....
Phys.Org News Partner Science news on Phys.org
Review: With Galaxy S5, Samsung proves less can be more
Making graphene in your kitchen
Study casts doubt on climate benefit of biofuels from corn residue
powergirl
#2
Jan20-07, 08:31 AM
P: n/a
Let me start from easy Q's;

1)C++ programming language was developed at....?
Crosson
Crosson is offline
#3
Jan20-07, 11:51 AM
P: 1,294
Bell Labs, and it had been called C with _____....?

neutrino
neutrino is offline
#4
Jan20-07, 11:53 AM
P: 2,048

C++ Quiz starts here...>


Classes

Can't come up with anything tougher: Who invented the language?
chemhelper
chemhelper is offline
#5
Jan20-07, 11:58 AM
P: 19
Stroustrup (if that is spelled correctly)

The ++ in C++ refers to _____
kingtazie
kingtazie is offline
#6
Jan20-07, 02:22 PM
P: 2
++ is shorthand of +=1 which C++ implements.

List the different types of variables that can be called.
verty
verty is offline
#7
Jan20-07, 02:33 PM
HW Helper
P: 1,373
Can be called?

Hmm...
#1: char, short, int, long, _int64
#2: unsigned char, unsigned short, etc
#3: char[], short[], int[], etc
#4: char *, short *, int *, etc
#5: const char *, const short *, etc
#6: char * const, short * const, etc
#7: const char * const, etc
#8: char **, short **, etc
#9: const variations of #8
#10: char[][], etc

I'm not sure if there are variations that mix [] and *, I guess there would be, like (char*)[].

Then:
#11: float, double, long double
#12: float[], double[], etc
etc

Then obviously structs and classes are types. I've probably missed a bunch.

List the bitwise operators of C++.
twisting_edge
twisting_edge is offline
#8
Jan21-07, 06:35 PM
P: 42
You forgot "void *". Even though there can't really be a variable of type void, you can certainly have a pointer to one.

Gotta love C++.
twisting_edge
twisting_edge is offline
#9
Jan21-07, 06:40 PM
P: 42
Quote Quote by verty View Post
List the bitwise operators of C++.
& - and
| - or
^ - xor
~ - not (bitwise)
>> - shift right
<< - shift left

What does the following code fragment do?

(void *(*)(...))
Hurkyl
Hurkyl is offline
#10
Jan21-07, 06:42 PM
Emeritus
Sci Advisor
PF Gold
Hurkyl's Avatar
P: 16,101
Don't forget fun types like

int (* (*[10]) (long, void*) ) (const char*, int *[])

!
twisting_edge
twisting_edge is offline
#11
Jan21-07, 07:01 PM
P: 42
Quote Quote by Hurkyl View Post
Don't forget fun types like

int (* (*[10]) (long, void*) ) (const char*, int *[])
A generally malformed question, I think. It was a little too wide open.

Managed to translate my typecast into English, yet?
neurocomp2003
neurocomp2003 is offline
#12
Jan21-07, 08:00 PM
P: 1,373
void *(*)(...) ...a function pointer to a function that returns some buffer.

[0] What is the main difference between C and C++
[1] What does :1 do in a variable declaration.
dmail
dmail is offline
#13
Feb4-07, 07:31 PM
P: 19
Quote Quote by twisting_edge View Post
What does the following code fragment do?

(void *(*)(...))
It uses C to do a job in C++ when it really it shouldn't be used, it uses the dreaded void pointer and a variable argument list.

Quote Quote by neurocomp2003
[0] What is the main difference between C and C++
[1] What does :1 do in a variable declaration.
0)see neutrino's post.
1)It's a bit field.

What is the only difference between a struct and a class?
Your.Master
Your.Master is offline
#14
Feb4-07, 11:05 PM
P: 34
Struct is default public, class is default private.

What's the difference between a virtual destructor and a virtual function?
powergirl
#15
Feb12-07, 05:00 AM
P: n/a
Virtual Functions and Destructors

A virtual function is a member function of a class, whose functionality can be over-ridden in its derived classes. It is one that is declared as virtual in the base class using the virtual keyword. The virtual nature is inherited in the subsequent derived classes and the virtual keyword need not be re-stated there. The whole function body can be replaced with a new set of implementation in the derived class

A virtual destructor is one that is declared as virtual in the base class and is used to ensure that destructors are called in the proper order. It is to be remembered that destructors are called in the reverse order of inheritance. If a base class pointer points to a derived class object and we some time later use the delete operator to delete the object, then the derived class destructor is not called.


???CAN U NAME THE SPECIAL FUNCTIONS A C++ COMPILER CAN CREATE IMPLICITY?
DanielKO
DanielKO is offline
#16
Feb14-07, 02:13 PM
P: 7
Quote Quote by powergirl View Post
If a base class pointer points to a derived class object and we some time later use the delete operator to delete the object, then the derived class destructor is not called.
This got a bit confusing. When destructing an object, you have to call the correct destructor; the virtual destructor plays the same role as virtual methods. Virtual destructors are useful when deleting the objects through a base pointer (like virtual methods are useful when calling the methods through a base pointer).

So in the end, the difference between virtual destructors and virtual methods is the same between plain destructors and plain methods.


Quote Quote by powergirl View Post
???CAN U NAME THE SPECIAL FUNCTIONS A C++ COMPILER CAN CREATE IMPLICITY?
Default and copy constructors, destructor and assignment operator.



Why using isspace(), isdigit(), etc, from <cctype> is dangerous? What's the safe alternative? (Hint: find out why char is different from signed char and unsigned char)
Hurkyl
Hurkyl is offline
#17
Feb14-07, 04:50 PM
Emeritus
Sci Advisor
PF Gold
Hurkyl's Avatar
P: 16,101
Quote Quote by DanielKO View Post
Default and copy constructors, destructor and assignment operator.
At the very least, you missed the comma operator. (Does new, new[], delete, and delete[] count too? Hrm)
DanielKO
DanielKO is offline
#18
Feb14-07, 08:03 PM
P: 7
Quote Quote by Hurkyl View Post
At the very least, you missed the comma operator. (Does new, new[], delete, and delete[] count too? Hrm)
The default comma operator is just a sequence operator, that does absolutely nothing. If you are going to count it as an "implicit function", so does the add (+), increment (++), multiply (*), etc. :)

I don't think new and delete count as "implicit"; I consider them built-in, just like the operators on primitive types. In fact, the compiler won't generate any code, it will just call the implementation provided by the standard library - that's why you can replace them through <new> (as the linkage of the standard library happens after the symbols were resolved); so new and delete are as implicit as malloc and free.

BTW, right after posting, I checked my copy of the standard to make sure, and it also lists the implicit functions the same way I did. So anything beyond this is a matter of interpretation of what "THE SPECIAL FUNCTIONS A C++ COMPILER CAN CREATE IMPLICITY" means.


Register to reply

Related Discussions
Where does quantum gravity starts ? Special & General Relativity 16
Pull of Gravity.......Where it starts? General Astronomy 3
Physics starts with Archimedes! General Physics 1