Форум программистов, компьютерный форум CyberForum.ru

Импорт элементов класса в программу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ вопрос по си-подключение видеопамяти http://www.cyberforum.ru/cpp-beginners/thread51630.html
в проге-заготовке вот строка far*p=(char far *)MK_FP(0xB800,0x0000) прога-текстовой редактор,вопрос-какая библио в CPP отвечает за работу с видеопамятью,что в этой строке нетак? компилят.выдает - c:14: предупреждение: инициализация из несовместимого типа указателя .c:14: ошибка: элемент инциализатора является не константа .c:14: предупреждение: определение данных не имеет тип или класс...
C++ Вывод даты, времени в лог Вообщем, в процессе выполнения программы ведется лог-файл. #include <time.h> #include <fstream> using namespace std; time_t system_time; int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, http://www.cyberforum.ru/cpp-beginners/thread51628.html
C++ нужно сделать бугущую строку, помогите пожалуйста!!
Пожалуйста, помогите мне надо программа, чтобы текст с надписью RADIO SABOTAGE выходила как бегущая строка слева направо по горизонтали экрана??
C++ Написать электронные часы
Кто-нибудь может написать электронные часы на с++(например 23:06)???
C++ Написал прогу она не работает!!!!! http://www.cyberforum.ru/cpp-beginners/thread51594.html
#include <windows.h> #include <cstdlib> #include <iostream> int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int s, S1, S2, S3, S4, S5, S_total, x, x1, x2, x3, x4; s = 0; printf ("Òåñò ïî èíôîðìàòèêå ïî òåìå: Óñòðîéñòâî ÏÊ\n");
C++ Вопрос про список инициализации class A { public: A() {i=1;} private: int i; }; class B { public: подробнее

Показать сообщение отдельно
NightmareCode
14 / 7 / 1
Регистрация: 20.09.2009
Сообщений: 89
22.09.2009, 11:46  [ТС]     Импорт элементов класса в программу
У меня есть идея определить все функции, как чисто виртуальные и реализовать в интерфейсе
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifdef __cplusplus
#define EXTERN_C extern "C"
#else
#define EXTERN_C
#else
 
struct IMyClassLibrary
{
    virtual  int Func1()=0;
    virtual  const char* Func2(const char*)=0;
    virtual  void Func3(int, int)=0;
}
 
typedef IMyClassLibrary* MyClassHandle;
Затем создать производный класс от этого интерфейса и отдельно реализовать функцию, выполняющую роль конструктора что-то вроде.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class MyClassImpl:public IMyClassLibrary
{
    //TODO. Все объявления функций
}
//реализация функций
//...
//Отдельная функция для создания объекта этого класса
#pragma comment(linker, /export:MyClassImpl=_MyClassImpl@0")
//Где _MyClass@0, предположительное декорированное имя создаваемое линкером!
 
MyClassHandle APIENTRY MyClassImpl()
{
    return new MyClassImpl;
}
Добавлено через 5 минут
Цитата Сообщение от GAV_13 Посмотреть сообщение
Чтобы избежать этого, необходимо объявлять все экспортируемые функции с модификатором extern "C" - тогда компилятор не будет искажать имя функции.
Необязательно объявлять с модификатором extern "C", можно в def-файле явно определить декорированному имени недекорированное имя
недекорированное_имя=декорированное_имя PRIVATE
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru