日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++中的结构体,C管理进程代码,C++管理进程代码,C语言中的联合体

發布時間:2024/9/27 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中的结构体,C管理进程代码,C++管理进程代码,C语言中的联合体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


1.C++中的結構體

#include<iostream>

?

struct lstruct

{

??? int num;

};

?

struct MyStruct

{

??? int num;

??? double db = 10.8;//可以有默認的值

??? //MyStruct sx;//拒絕內部定義自己,也就是說不能夠內部指向自己

??? MyStruct *pnext;

??? MyStruct *phead;

??? lstruct? l1;

??? void boss()? //可以有方法

??? {

??? }

};

?

struct MyStructA

{

??? int num;

??? double db = 10.8;//默認的值

??? //MyStruct sx;//拒絕內部定義自己

??? MyStruct *pnext;

??? MyStruct *phead;

??? lstruct? l1;

??? void boss()

??? {

??? }

};

?

struct

{

??? int num;

??? double db;//默認的值,不能賦初值,否則編譯就會出現錯誤

??? MyStruct boss1;

}sx, sy;//匿名結構體不允許初始化

?

void main()

{

??? MyStruct s1;//自動管理

??? MyStruct *pnew = new MyStruct;//手動

??? s1.l1.num;

??? //pnew->l1.num;

??? (*pnew).l1.num;

??? //類型相同可以整體賦值

??? //結構體C++風格初始化方式

??? MyStruct s2(s1);

??? MyStruct *pnew2(new MyStruct);

??? MyStructA sa1;

??? //MyStruct s3(sa1);C++強類型,必須類型匹配

}

?

void main1()

{

??? MyStruct? s1;

??? std::cout << s1.db << std::endl;

??? sx.boss1.num;//結構體嵌套就是...

??? std::cin.get();

}

2.空類

#include<iostream>

//空類占一個字節,表明類存在

//空類有int,4個,

?

class kong

{

public:

??? //int num

??? void go(int? num)

??? {

??????? std::cout << "鋤禾日當午";

??? }

};

?

void main()

{

??? std::cout << sizeof(kong) << std::endl;

??? //? std::cout<< &kong << std::endl;

??? kong? kong1;

??? //kong1.num = 10;

??? std::cout << &kong1 << std::endl;

??? std::cin.get();

}

?

3.C語言管理進程

#define? _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include<string.h>

#include<windows.h>

?

//面向過程的模式

//代碼重用主要靠函數

?

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();

}

4.C++面向對象管理進程

#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;

?

void main()

{

??? //? myab.geta = 3;

??? myab.seta(10);

??? //封裝解決的問題

??? //類的,代碼與數據,一體化

??? //代碼的封裝,限定代碼誰可以執行誰不可以執行的權限

??? //數據的封裝,防止數據被意外修改

}

5.C++中的聯合體

#include<iostream>

?

//union? 本質也是一個類,可以內部有函數,

//union,內部數據是共享,不同對象之間是獨立的,代碼是共享

//union,也具備結構體所有功能

//某些節約內存的類需要用到共用體

union MyUnion

{

??? int num;

??? double db;

??? void go()

??? {

??? }

};

//內部數據是共享內存,不可以繼承

union MyUnionA

{

??? int num;

??? double db;

??? void go()

??? {

?

??? }

};

?

void main()

{

??? std::cout << sizeof(MyUnion) << std::endl;

??? MyUnion union1;

??? //? union1.db = 10;

??? union1.num = 20;

??? std::cout << union1.num << std::endl;

??? union1.db = 10.9;//時時刻刻共用體僅有一個變量存在

?

??? std::cout << union1.num << std::endl;

??? std::cin.get();

}

?

?

總結

以上是生活随笔為你收集整理的C++中的结构体,C管理进程代码,C++管理进程代码,C语言中的联合体的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。