phpcms 网站访问统计,哪个网站做废旧好,央企网站开发,企业运营管理师编写如下类: class File{ FILE* fp }; 1:构造函数#xff0c;打开一个指定的文件 2:write函数 向文件中写入数据 3#xff1a;read函数#xff0c;从文件中读取数据#xff0c;以string类型返回 代码实现#xff1a; 
#include iostreamusing namespace std;class… 编写如下类: class File{ FILE* fp }; 1:构造函数打开一个指定的文件 2:write函数 向文件中写入数据 3read函数从文件中读取数据以string类型返回 代码实现 
#include iostreamusing namespace std;class myfile{FILE *fp;
public:myfile(const char *path,const char *type);//通过fp绑定一个构造函数~myfile();//通过fp绑定一个析构函数int write(char *buf,int signal_size,int terms);//申明一个write函数向文件中写入数据int read(char *buf,int signal_size,int terms);//申请一个read函数从文件中读取数据返回string类型
};
myfile::myfile(const char *path,const char *type){fpfopen(path,type);if(fpNULL){perror(fopen);}
}
myfile::~myfile(){fclose(fp);
}
int myfile::write(char *buf,int signal_size,int terms){int resfwrite((char *)buf,signal_size,terms,fp);return res;
}
int myfile::read(char *buf,int signal_size, int terms){int resfread((char *)buf,signal_size,terms,fp);return res;
}
int main()
{myfile file_src{C:\\Users\\pzctj\\Documents\\81_C\\day2\\myfile\\main.cpp,r};myfile file_dest{myfile.txt,w};char str[1024]{0};// string bufstr;while(1){//buf.clear();int resfile_src.read((char *)str,1,1024);if(res0){cout  文件读取结束  endl;break;}file_dest.write((char *)str,1,res);}return 0;
} 
单例模式实现 
懒汉模式  
#include iostreamusing namespace std;class signalTon{
private:class Mutex{pthread_mutex_t mutex;public:Mutex(){pthread_mutex_init(mutex,NULL);cout  无参互斥锁构造函数  endl;}void lock(){pthread_mutex_lock(mutex);}void unlock(){pthread_mutex_unlock(mutex);}};signalTon(){cout  无参signalTon构造函数  endl;}static Mutex mutex;
public:signalTon(const signalTon r)delete ;//删除自动分配的拷贝构造函数//signalTon()default;//确保必须分配构造函数//公开接口用来调用构造函数构建唯一对象或者返回唯一对象static signalTon* getInstance(){mutex.lock();static signalTon* instanceNULL;if(instanceNULL){sleep(1);//延时1秒对于多线程懒汉模式可能if判断就不起作用因此引入互斥锁instancenew signalTon;//堆区开辟空间并调用构造函数为对象初始化}mutex.unlock();return instance;}
};
signalTon::Mutex signalTon::mutex;//静态成员属性mutex开辟空间
void* task(void *arg){signalTon* s1signalTon::getInstance();cout  s1  endl;
}int main()
{pthread_t tid;pthread_create(tid,NULL,task,NULL);pthread_detach(tid);signalTon* s1signalTon::getInstance();cout  s1  endl;return 0;
} 
饿汉模式  
#include iostreamusing namespace std;class signalTon{
private:signalTon(){cout  无参signalTon构造函数  endl;}static signalTon* instance;
public:signalTon(const signalTon r)delete ;//删除自动分配的拷贝构造函数//signalTon()default;//确保必须分配构造函数//公开接口用来调用构造函数构建唯一对象或者返回唯一对象static signalTon* getInstance(){return instance;}
};
signalTon* signalTon::instancenew signalTon;
void* task(void *arg){signalTon* s1signalTon::getInstance();cout  s1  endl;
}int main()
{pthread_t tid;pthread_create(tid,NULL,task,NULL);pthread_detach(tid);signalTon* s1signalTon::getInstance();cout  s1  endl;return 0;
}