Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.205.56.209] |
|
Сообщ.
#1
,
|
|
|
Собственно говоря. нубовский вопрос. Есть некая функция, в классе CGenF. Допустим, такая: double atofx(CString m1);
В данный момент доступ к функции из других классов осуществляется так: include "genf.h" ... CGenF genf; double a=genf.atofx("123"); Как сделать так, чтобы доступ можно было осуществить без объявления класса в каждой вызывающей функции? Чтобы из других классов можно было сделать так: double a=atofx("123"); Заранее спасибо. |
Сообщ.
#2
,
|
|
|
Цитата sfs1981 @ Как сделать так, чтобы доступ можно было осуществить без объявления класса в каждой вызывающей функции? // ---------------------------------------- // file atofx.h 2016.01.15 // ---------------------------------------- #ifndef ATOFX_H #define ATOFX_H double atofx (const char* pStr); #endif // ---------------------------------------- // ---------------------------------------- // file atofx.cpp 2016.01.15 // ---------------------------------------- #include "stdafx.h" #include "atofx.h" #include "genf.h" // ---------------------------------------- double atofx (const char* pStr) { CGenF genf; return genf.atofx(pStr); } // ---------------------------------------- |
Сообщ.
#3
,
|
|
|
ЫукпШ, ты снова советуешь вредные решения. Глобальные функции -- зло, от которого надо максимально избавляться.
Цитата sfs1981 @ Как сделать так, чтобы доступ можно было осуществить без объявления класса в каждой вызывающей функции? Смотри friend |
Сообщ.
#4
,
|
|
|
Спасибо за ответы. Но я встал на путь зла (ну и собственно, функции этого класса используются во всех классах проекта. так что может быть тут зло не такое и зло)
|
Сообщ.
#5
,
|
|
|
Цитата sfs1981 @ Это правильно! Только это не путь зла, а просто путь предельной внимательности. Не слушайте B.V. в этом, это предрассудки. Но я встал на путь зла |
Сообщ.
#6
,
|
|
|
Цитата Славян @ Это правильно! Только это не путь зла, а просто путь предельной внимательности. Плюсую. Я позавчера использовал оператор goto, кстати Правда потом по привычке применил другую конструкцию, но ... я смог. Я с гордостью могу заявить - я использую этот оператор! Антиоффтопик: в дополнение к сообщению уважаемого ЫукпШ, есть еще - #pragma once, говорят много где работает уже. |
Сообщ.
#7
,
|
|
|
Цитата JoeUser @ Я с гордостью могу заявить - я использую этот оператор! оператор goto, кстати Это всё, это ж жесточайший грех++; Теперь вам никак не попасть в Си-рай, никак! П.С. больше здесь оффтопить не буду. |
Сообщ.
#8
,
|
|
|
Скрытый текст Цитата Славян @ Теперь вам никак не попасть в Си-рай, никак! goto - азм есьм JMP или LJMP! А я напишу вам из асмого Рая |
Сообщ.
#9
,
|
|
|
Цитата B.V. @ Смотри friend ИМХО ему обычная статическая функция член класса вполне бы подошла. |
Сообщ.
#10
,
|
|
|
Цитата B.V. @ ЫукпШ, ты снова советуешь вредные решения. Глобальные функции -- зло, от которого надо максимально избавляться. MessageBox .. OpenProcessToken .. CreateIconIndirect .. Надо продолжать, или можно остановиться ? Если некая сущность состоит из данных и методов, тогда это класс. А если это только метод, тогда только функция. Использование искусственно созданных объектов не очень-то удобно. Автор темы об этом и говорит. --- Зло - это не функции. Зло - это не умение пользоваться инструментами, к числу которых относятся и функции. |