C ++类不会执行函数

时间:2016-06-03 20:14:04

标签: c++ function class member

我想写一个简单的备份程序。它尚未完成,但我遇到了一个问题:负责设置正确路径的我的类不会执行将复制文件的worker。我不知道为什么,是的 - 我已经查到了我知道的任何帮助网站。这是我的filecopy h代码:

#ifndef __FILECOPY_H_INCLUDED__
#define __FILECOPY_H_INCLUDED__

#include<iostream>
#include<fstream>
#include<ctime>

class filecopy
{
     std::string dest_path;
     std::string src_path;
public:
     filecopy(std::string, std::string);
 void filecopy_worker()
 {
      std::cout << "FILECOPY PROCESS STARTED" << std::endl;
      std::ifstream source(src_path);
      std::ofstream dest(dest_path);
      dest << source.rdbuf();
      source.close();
      dest.close();
 }
};

filecopy::filecopy(std::string a, std::string b)
{
     dest_path = a;
     src_path = b;
}

#endif

这是我的main.cpp代码:

#include<iostream>
#include<stdlib.h>
#include"filecopy.h"

int main(int argc, char *argv[])
{
     if(argc != 3)
     {
          std::cout << "USAGE: " << argv[0] << " <filesource>" << std::endl;
          return 1;
     }
     else
     {
          filecopy target1(argv[2], argv[1]);
          std::cout << "TARGET ASSIGNED" << std::endl;
          std::cout << "EXECUTE FILEWORKER" << std::endl;
     }
     return 0;
}

1 个答案:

答案 0 :(得分:4)

它没有执行该功能,因为你从未调用它。只需添加该函数调用

即可
filecopy target1(argv[2], argv[1]);
target1.filecopy_worker();