C/C++ Вопрос на интервью ...

и задачки для интервью.
User avatar
listen_me_now
Новичок
Posts: 86
Joined: 27 Feb 2001 10:01
Location: Omsk , Russia

C/C++ Вопрос на интервью ...

Post by listen_me_now »

В чем ОСНОВНЫЕ отличия C++ от "чистого" си ?
Общепринято , что в С++ есть три фичи , отличающие его от прародителя :
1. Создание новых типов
2. Наследование
3. Полиморфизм (виртуальные функции)

Говорят , этот вопрос могут задать даже в консульстве .
Кто сталкивался с подобным "беспределом" в практике собеседования ?

Вот какой перл я нашел в инете по этому поводу :
1. C++ is, compared to C, a newer version of C language.
It is a higher level language than C.
2. the modern aspect about C++ is the arly use of objects.
The C++ language is ideally suited for designing and manipulating such data items called objects.
3. what is modern about C++ is the use of graphics.
Learning how to use objects let you draw graphical shapes on the computer screen.
User avatar
sttranik
Уже с Приветом
Posts: 753
Joined: 18 Sep 2000 09:01
Location: Fremont, CA

C/C++ Вопрос на интервью ...

Post by sttranik »

главное отличие - C это структурный язык (ориентированный на структурный подход в программирование), C++ это объектно ориентированный, с предназначением использования объектно ориентированной парадигмы программирования. соответственно и отличия. понятно что поскольку ОО подход более сложен, то и свойств и фич у ОО языка больше чем у структурного. кстати здесь важно заметить что никто не запрещает писать объектные программы на C или структурные программы на C++. вопрос только в том насколько это удобно и насколько язык приспособлен к такому использованию.

еще важно заметить что C это не подмножество C++, а часть синтаксиса C пересекается с синтаксисом C++.
например вот такое объявление будет иметь отличия в C и C++:
int foo()
{
return 0;
}
хороший вопрос для интервью "какое здесь отличие?".

[ 20-12-2001: Message edited by: sttranik ]</p>
User avatar
Azazello
Уже с Приветом
Posts: 3179
Joined: 12 Jun 2001 09:01
Location: SPb,Russia->Rehovot, Israel->Cambridge, MA

C/C++ Вопрос на интервью ...

Post by Azazello »

<blockquote><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by sttranik:
<strong>главное отличие - C это структурный язык (ориентированный на структурный подход в программирование), C++ это объектно ориентированный, с предназначением использования объектно ориентированной парадигмы программирования. соответственно и отличия. понятно что поскольку ОО подход более сложен, то и свойств и фич у ОО языка больше чем у структурного. кстати здесь важно заметить что никто не запрещает писать объектные программы на C или структурные программы на C++. вопрос только в том насколько это удобно и насколько язык приспособлен к такому использованию.

еще важно заметить что C это не подмножество C++, а часть синтаксиса C пересекается с синтаксисом C++.
например вот такое объявление будет иметь отличия в C и C++:
int foo()
{
}
хороший вопрос для интервью "какое здесь отличие?".</strong><hr></blockquote>

C++ is (according to Stroustroup definition [img:61199de84e]images/smiles/icon_smile.gif[/img:61199de84e] ) a multi-paradigm languadge. It supports [at least] the following paradigms:
- Structural programming
- Object-oriented programming
- Generic programming
- Multi-paradigm programming

As for you question, can I elaborate on it?
Say, we have the following function:

void f(void)
{
}

Will it have the same meaning in C and C++?

Enjoy [img:61199de84e]images/smiles/icon_smile.gif[/img:61199de84e]
User avatar
sttranik
Уже с Приветом
Posts: 753
Joined: 18 Sep 2000 09:01
Location: Fremont, CA

C/C++ Вопрос на интервью ...

Post by sttranik »

<blockquote><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by Azazello:
<strong>As for you question, can I elaborate on it?
Say, we have the following function:

void f(void)
{
}

</strong><hr></blockquote>
now it will...
Vovka
Уже с Приветом
Posts: 1906
Joined: 14 Mar 2001 10:01

C/C++ Вопрос на интервью ...

Post by Vovka »

Так вроде с

void f(void)

никаких неоднозначностей не возникает. Разве что просто такая запись лично для меня выглядит убого и нелогично.

Другое дело:

void f().

Здесь в "старом" C любые параметры пихать можно. Подозреваю, что C99 сдалал, как в C++, но не уверен.

[ 20-12-2001: Message edited by: Vovka ]</p>
User avatar
Azazello
Уже с Приветом
Posts: 3179
Joined: 12 Jun 2001 09:01
Location: SPb,Russia->Rehovot, Israel->Cambridge, MA

C/C++ Вопрос на интервью ...

Post by Azazello »

<blockquote><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by sttranik:
<strong>
now it will...</strong><hr></blockquote>

Bravo!
User avatar
sttranik
Уже с Приветом
Posts: 753
Joined: 18 Sep 2000 09:01
Location: Fremont, CA

C/C++ Вопрос на интервью ...

Post by sttranik »

<blockquote><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by Vovka:
<strong>Другое дело:

void f().

Здесь в "старом" C любые параметры пихать можно. Подозреваю, что C99 сдалал, как в C++, но не уверен.
</strong><hr></blockquote>
а что такое C99? [img:80d00043a8]images/smiles/icon_smile.gif[/img:80d00043a8]

добавлю свой ответ на вопрос:
int foo();
в C это эквивалентно int foo(...);
в C++ это эквивалетно int foo(void);

вообще с тремя точками интересно получилось. раньше вроде можно было даже писать выражения типа a = b + *(int*)...; потом это вроде отменили. надо пользовать va_ макросы чтобы к таким параметрам добираться.
User avatar
sttranik
Уже с Приветом
Posts: 753
Joined: 18 Sep 2000 09:01
Location: Fremont, CA

C/C++ Вопрос на интервью ...

Post by sttranik »

<blockquote><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by Azazello:
<strong>Bravo!</strong><hr></blockquote>
а тож! [img:7efe83a097]images/smiles/icon_cool.gif[/img:7efe83a097]
Aden
Уже с Приветом
Posts: 144
Joined: 05 Mar 2001 10:01

C/C++ Вопрос на интервью ...

Post by Aden »

"Ну вы, блин, даете..." (c) "Особенности..."
listen_me_now просто спросил о том какие "технические" вопросы может задать консул при прохождении на интервью (если я правильно понял). А добрым людям хлебом не корми, дай схлестнуться в профессиональном споре [img:b9d6ba57d8]images/smiles/icon_smile.gif[/img:b9d6ba57d8] Сомнения у меня, что консул будет выпытывать синтаксическо-семантические отличия C++ от C... В моем (и не только в моем) случае консул удовлетворился ответом, что C++ - обьектно-ориентированный, а C - нет (у него похоже так в бумажке было написано [img:b9d6ba57d8]images/smiles/icon_smile.gif[/img:b9d6ba57d8]
alexeypavloff
Уже с Приветом
Posts: 236
Joined: 19 Oct 2001 09:01
Location: USA->IL

C/C++ Вопрос на интервью ...

Post by alexeypavloff »

Как сейчас помню когда проходил интервью в посольстве, то консул задал единственный технический вопрос. What is the difference between C and C++?. Ответа он сам не знал поэтому предварительно спросил у своего коллеги, на что тот ему ответил - С++ is Object Oriented language. Консул принял важный вид и с надеждой что я не знаю ответа выстрелил этот вопрос. У него аж бедного очки запотели [img:9b57581da5]images/smiles/icon_smile.gif[/img:9b57581da5]
Я конечно мог бы ему оду прочитать о разнице, но не будучи дураком с такой важностью ответил - С++ is Object Oriented language!. Это полностью удостоверило консула что в США едет профи с большой буквы и больше технических вопросов не было [img:9b57581da5]images/smiles/icon_smile.gif[/img:9b57581da5]
Так что успокойтесь. Не будут они копать. Я было на его вопрос о моем последнем проекте начал рассказывать что я делал, зачем я использовал хранимые процедуры и что такое виртуальный базовый класс, но потом вижу у него глаз левый задергался от волнения и понял что дальше не стоит [img:9b57581da5]images/smiles/icon_smile.gif[/img:9b57581da5] Они абсолютно не понимают о чем идет речь. Им главное давать короткие ясные ответы. Это их успокоит.
AK70
Уже с Приветом
Posts: 3127
Joined: 10 Apr 2001 09:01
Location: MD

C/C++ Вопрос на интервью ...

Post by AK70 »

<blockquote><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by sttranik:
<strong>
а что такое C99? [img:cce61c381d]images/smiles/icon_smile.gif[/img:cce61c381d]

</strong><hr></blockquote>

последний вариант стандарта С.
User avatar
listen_me_now
Новичок
Posts: 86
Joined: 27 Feb 2001 10:01
Location: Omsk , Russia

C/C++ Вопрос на интервью ...

Post by listen_me_now »

<blockquote><font size="1" face="Arial, Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by ameno:
<strong>Как сейчас помню когда проходил интервью в посольстве, то консул задал единственный технический вопрос. What is the difference between C and C++?.
</strong><hr></blockquote>

Большое спасибо .
Успокоили .

Return to “Головоломки”