C ++: перенести программу в заголовок

0

Я новый в C++, и у меня есть программа с именем sendSMS:

#include "ServerSocket.h"
#include "SocketException.h"
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
#include "Socket.h"
#include <pthread.h>
#include <stdio.h>
#include "Config.h"
#include <mysql/mysql.h>
#include <cstdlib>
#include <SerialStream.h>

void *func_servidor(void *ptr_timer);

ServerSocket server(30001);

pthread_t thread_servidor;
pthread_t thread_transfdados;
pthread_t thread_BD;

pthread_cond_t cv;
pthread_mutex_t mp;

int ret;


#define CTRL_C "\x1A"

const int PORT_MON = 30000;

const string serialPort = "/dev/ttyS0";


using namespace LibSerial;
using namespace std;


int setSerial(SerialStream& ssStream, const string& port) {
...
....
}

int sendsms(int argc, char **argv) {
bool send = true;
...
....
return(0);
}

void *func_servidor(void *ptr)
{
...
....
return(0);
}

Я хочу передать все эти функции в заголовок.h файл и вызвать его в основной программе (main.cpp), поэтому main.cpp вызывает только "все":

#include sendSMS.h

class modem{
{
     public:
       void SendSms();
}

int main{
  SendSms();
  return(0);
}

И заголовок будет похож?

#ifndef __SENDSMS__ 
#define __SENDSMS__ 

#include "ServerSocket.h"
#include "SocketException.h"
#include <string>
#include <vector>
#include <iostream>
#include <fstream>
#include "Socket.h"
#include <pthread.h>
#include <stdio.h>
#include "Config.h"
#include <mysql/mysql.h>
#include <cstdlib>
#include <SerialStream.h>

class sendsms
{
    private:
    int ret;
    const int PORT_MON;
    int argc;
    const string serialPort;
    char **argv;
    bool send;

    public:
    sendsms();
    void *func_servidor(void *ptr);
    int setSerial(SerialStream& ssStream, const string& port);
    int  sendsms();

};

#endif
Теги:
class
object
header
main

1 ответ

0
Лучший ответ

В вашем main.cpp вам понадобится объект типа modem для вызова sendsms() из main():

#include sendSMS.h

class modem{
{
     public:
       void SendSms();
}

int main(int argc, char **argv) {
    modem m;
    m.SendSms();
    return(0);
}
  • 0
    Спасибо, но я не знаю, как превратить этот sendSMS.cpp в sendSMS.h
  • 0
    Вы должны поместить определения в sendSMS.h, а затем реализовать это в sendSMS.cpp. Когда вы #include sendSMS.h в вашем main.cpp, вы сможете вызывать методы, как я опубликовал выше.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню