C/C++ 面向对象和面向过程区别

来源:互联网 发布:java执行git命令 编辑:程序博客网 时间:2024/05/22 12:23



C语言实现进程管理&add


#define  _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<string.h>#include<windows.h>//面向过程的模式//代码重用主要靠函数//权限:C语言函数在任何文件都可以调用无法实现C++类的访问权限void open(const char *path,const int mode){ShellExecuteA(0, "open", path, 0, 0, mode);}void all(){system("tasklist");}void closebyname(const char *name){char cmdstr[100] = { 0 };sprintf(cmdstr, "taskkill /f /im %s", name);system(cmdstr);}void closebypid(const int num){char cmdstr[100] = { 0 };sprintf(cmdstr, "taskkill /pid %d", num);system(cmdstr);}void main1(){all();open("notepad", 1);all();Sleep(2000);int  num;scanf("%d", &num);closebypid(num);//closebyname("notepad.exe");system("pause");}struct fu{int a;int b;};//a+ bi,struct fu  add(struct fu  fu1, struct fu  fu2){struct fu  fu3;fu3.a = fu1.a + fu2.a;fu3.b = fu1.b + fu2.b;return fu3;}void   main3(){//数据可以随便被别人,可以随便被修改struct fu  fu1 = { 3, 4 };struct fu  fu2 = { 13, 4 };fu1.a += 3;struct fu  fu3 = add(fu1, fu2);printf("%d+%di", fu3.a, fu3.b);getchar();}





C++实现进程管理&add

#define  _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string>#include <windows.h>//C++类的继承实现代码重用, C重用   函数//类的封装实现权限,封装,数据与代码合为一体。C封装主要是函数//封装可以锁定代码的权限,锁定的数据的权限,避免被随意修改//类的多态,一个接口根据实际需求完成很多不同的功能class cmduse{private:char cmduser[100];//用户名char cmd[100];//存储指令public:void setuser(const char * name){strcpy(cmduser, name);}char * getuser(){return this->cmduser;//返回用户名}void open(const char *path, const int mode){ShellExecuteA(0, "open", path, 0, 0, mode);}void all(){system("tasklist");}void closebyname(const char *name){memset(this->cmd, 0, 100);//清空字符串sprintf(this->cmd, "taskkill /f /im %s", name);system(this->cmd);}void closebypid(const int num){memset(this->cmd, 0, 100);//清空字符串sprintf(this->cmd, "taskkill /pid %d", num);system(this->cmd);}};void main2(){cmduse cmduse1;cmduse1.setuser("yincheng");std::cout << cmduse1.getuser() << std::endl;cmduse1.open("calc",1);cmduse1.open("notepad",0);Sleep(2000);cmduse1.all();cmduse1.closebyname("calc");int pid;std::cin >> pid;cmduse1.closebypid(pid);//根据编号关闭std::cin.get();std::cin.get();//closebypid(100);}//封装可以实现代码权限,不可以随便调用class {public:void seta(int a){//接口this->a = a;}int geta(){return this->a;}void setb(int b){//接口this->b = b;}int getb(){return this->b;}protected:private:int a;int b;char password[100];}myab;//匿名的类,对象唯一不能new。例如公司董事长只有一个void main(){//myab.geta = 3;myab.seta(10);//封装解决的问题//类的,代码与数据,一体化    //代码的封装,限定代码谁可以执行谁不可以执行的权限//数据的封装,防止数据被意外修改}


总结:
C语言: 首先思想是面向过程,数据和函数接口是独立分开的。它以每个函数的实现为核心。
C++:它是面向对象的思想,数据和函数以类的形式一体化,且有了权限。以类为核心,先设计类,再实现代码!
C语言没有底线一处实现四处调用。


C++   
1) 继承:实现代码复用,富二代有个牛逼的爸爸,可以继承老爸的所有 
2) 封装:类既是封装的体现,实现了函数和变量的一体化。给函数和变量赋予了权限
3)多态:一个函数接口根据实际需求完成不同功能,比如:打这个动作,可以打羽毛球,打电话,打乒乓球。。。。。。


原创粉丝点击