366 Часть ill. Современное программирование на C++
1: |
int |
Print ( int num) |
8: |
{ |
// для простоты используем printf |
9: |
|
return printf ( "%d", num); |
10 |
} |
|
11 |
int |
Print ( char ch) |
12 |
{ |
|
13 |
|
return printf ( "%c", ch) ; |
14 |
) |
|
15 |
int |
Print ( float fl) |
16 |
{ |
|
17 |
|
return printf ( "%f", fl); |
18 |
} |
|
19 |
voic |
main () |
20 |
( |
|
21 |
|
Print ( 'A'); Print. C\n'); |
22 |
|
Print ( 10); Print C\n'); |
23 |
|
float PI = 3.14519; |
24 |
|
Print ( PI); Print ('\n'); |
25 |
} |
|
Эта демонстрационная программа содержит три функции, все они имеют имя print и отличаются только типом аргументов. Обратим, однако, внимание на другое — на то, что компилятор делает с именами, когда помещает их в таблицу символов. Просмотрим для этого .map-файл.
Рис. 15.1
Диалоговое окно Project Options позволяет выводить в .map-файл как уточненные,так и неуточненные имена
Здесь приведены неуточненные имена функций в том виде, в котором они появляются в создаваемом .map-файле:
0001:00000074 Idle Print(int) 0001:00000089 Idle Print(char) 0001:OOOOOOAO Idle Print, (float)