200827C阶段一_C++基础
生活随笔
收集整理的這篇文章主要介紹了
200827C阶段一_C++基础
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一、學習的知識點
- C++
- 命名空間
- 域運算符
- 動態內存分配
- 結構體位段
- 類型轉換和內聯函數
- 函數重載和引用類型
- 基本數據類型
- 二、上課沒有聽懂或者沒有理解的地方
- 三、當天學習的收獲
- 四、作業的思路、不會的地方
- 五、其他需要反饋的問題
- 六、心得體會
一、學習的知識點
C++
面向對象;特征 :抽象 封裝 繼承 多態
命名空間
C++標準庫中的幾乎所有內容都是在命名空間std中定義
#include<string> #include<iostream> //cin cout的頭文件 using namespace std; //標準的命名空間 作用 避免沖突//自定義命名空間 namespace stu1 {int i=5;void print(){printf("%d\n",i);} };namespace stu2 {int i=10;void print(){printf("%d\n",i);} };//訪問命名空間里面的變量或函數:命名空間::(域運算符)函數名或變量;//作用:避免命名沖突 變量 或函數stu1::print();stu2::print();域運算符
作用:
1.訪問命名空間的數據 stu1::print();
2.當局部變量或全局變量出現相同時,要訪問全局變量的值,使用域運算符,否則優先訪問局部變量 cout<<::flag<<endl;
3.可以訪問類的數據成員和函數
動態內存分配
class Staff { public:Staff(); //構造函數~Staff();//析構函數 };Staff::Staff() {cout<<"構造函數"<<endl; }Staff::~Staff() {cout<<"析構函數"<<endl; } //動態內存分配:除了malloc之外,還可以使用new運算符int *arr=NULL;//arr=static_cast<int*>(malloc(sizeof(int)));//arr=(int *)malloc(sizeof(int));*arr=30;free(arr);char *name=NULL;name=new char[20]; //new分配 20字節strcpy(name,"cccc");cout<<name<<endl;delete [] name; //內存回收 如果是單個元素 delete name;/*1.malloc是函數 new是運算符2.malloc與free配合使用 new與delete配合使用3.malloc需要知道開辟的內存大小,new不需要4.malloc有返回值,必須強轉,new不需要5.在使用new創建類對象的時候,會執行構造函數,delete的時候會執行析構函數,創建類對象時只能用new*/Staff *user=NULL;user=new Staff;delete user;結構體位段
//C++結構體 typedef struct staff_t {int id:20; //:20 結構體位段 -實現內存對齊,節省內存 int role:12; //int型占據4字節32位,位段的設置不能超過基本數據類型char name[20];char pwd[12]; }STAFF_T;類型轉換和內聯函數
float sum=5.4;
cout<<static_cast< int >(sum)<<endl;
函數重載和引用類型
int s=4;
int &ps=s;//引用必須初始化
count<<ps<<endl;
基本數據類型
比C多了1 bool(0、1),默認為1; 2 class
bool res=0;
cout<<res<<endl;
二、上課沒有聽懂或者沒有理解的地方
無
三、當天學習的收獲
初步學習了C++基礎
四、作業的思路、不會的地方
未開始
五、其他需要反饋的問題
無
六、心得體會
期待用C++實現具體功能,體會與C程序的區別。
總結
以上是生活随笔為你收集整理的200827C阶段一_C++基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 200825C文件 复习
- 下一篇: 200819C阶段一C++面向对象的编程