用的是http://www.d2school.com/第二學堂的教材。
貼一小段代碼,用來幫助自己記憶所學。
#include <iostream> #include <vector> #include <stdlib.h> #include <list> using namespace std; struct person { public: void setname(string const sname) { name = sname; } void setage(int const sage) { age = sage; } string getname() { return name; } int getage() { return age; } virtual void savehello() { cout << "Hello,My name is "<<name<<endl; } protected: private: string name; int age; }; struct man: public person { man() { gender = "男"; } public: void setsex(string const sgender) { gender = sgender; } string getsex() { return gender; } virtual void savehello() { string myname; myname = getname(); cout <<"你好,我是"<<myname<<",很高興認識你!/n"; } protected: private: string gender; }; int main() { string name,gender; int age,i,s; //枚舉 enum {sa_in = 1,sa_ou,sa_go}; cout <<"枚舉:"<<sa_ou<<","<<sa_go<<endl; man hu,wen,li,wu; //列表 list<int> lst; lst.push_front(10); lst.push_front(20); lst.push_back(8); lst.push_back(9); //列表--非迭代器函數 s = lst.size(); cout <<"列表size:"<<s<<endl; lst.pop_front(); lst.pop_back(); cout <<"列表第一項:"<<lst.front()<<endl; cout <<"列表最後項:"<<lst.back()<<endl; s = lst.size(); cout <<"列表size:"<<s<<endl; lst.clear(); //列表--迭代器函數 lst.push_front(15); lst.push_front(20); lst.push_back(5); lst.push_back(10); list<int>::iterator iter = lst.begin(); list<int>::reverse_iterator iter2 = lst.rbegin(); i = *iter; cout <<"列表開始項:"<<i<<endl; i = *iter2; cout <<"列表最後項:"<<i<<endl; ++iter; lst.insert(iter,1);//插入後列表是:20,1,15,5,10 cout <<"列表插入後:"<<*iter<<endl; lst.erase(iter); cout <<"列表刪除後:"<<*iter<<endl; cout <<"列表最後項:"<<*iter2<<endl; //遍歷列表 for (list<int>::const_iterator c_iter = lst.begin();c_iter != lst.end();++c_iter) { cout <<*c_iter<<","; } lst.clear(); cout<<"/n"; //向量 vector<man> manyman; manyman.push_back(hu); manyman.push_back(wen); manyman.push_back(li); manyman.push_back(wu); manyman[0].setname("胡濤"); manyman[0].setage(68); manyman[1].setname("溫寶"); manyman[1].setage(68); manyman[2].setname("李強"); manyman[2].setage(55); manyman[3].setname("吳國"); manyman[3].setage(69); s = manyman.size(); for (i = 0;i<s;i++) { name = manyman[i].getname(); age = manyman[i].getage(); gender = manyman[i].getsex(); cout <<name<<","<<gender<<","<<age<<"歲。"<<endl; } manyman.clear(); cout <<"/n"; //=============================過去了==========================1 person ahai; ahai.setname("阿海"); ahai.setage(10); name = ahai.getname(); age = ahai.getage(); cout <<name<<endl; cout <<age<<endl; ahai.savehello(); cout <<"/n"; man yanhai; yanhai.setname("歐耶"); yanhai.setage(23); yanhai.setsex("男"); name = yanhai.getname(); age = yanhai.getage(); gender = yanhai.getsex(); cout <<name<<endl; cout <<age<<endl; cout <<gender<<endl; yanhai.savehello(); system("pause"); return 0; }
本文分享自華爲雲社區《10分鐘搞懂各種內存溢出案例!!(含完整源碼,建議收藏)》,作者:冰 河。 作爲程序員,多多少少都會遇到一些內存溢出的場景,如果你還沒遇到,說明你工作的年限可能比較短,或者你根本就是個假程序員!哈哈,開個玩笑。今天,我
Ai technology 前言 AppBuilder上線了低代碼製作組件功能,可以通過工作流的方式構建自定義組件,完成簡單Agent無法完成的複雜功能,使得生成的文本更加定製化,
最近在刷一些問題的時候看到有下面一個問題 上面問的是當輸入的字符串爲什麼的時候返回 True 總結 在做題目的時候,第一次還做錯了。 這是因爲解答這個題目的時間只有 3 分鐘,沒有自己看題目 後來拿着程序跑了下。 p
ClickHouse以性能好被大家所熟知,而一個數據庫的性能優化是一個龐大的系統性工程。本文着眼於ClickHouse內部的基礎數據結構,以揭露ClickHouse性能優化的冰山一角。 在軟件工程中並不是所有的執行路徑都需要優化,只有關鍵執
DevExpress VCL是DevExpress公司旗下最老牌的用戶界面套包,所包含的控件有:數據錄入、圖表、數據分析、導航、佈局等。該控件能幫助您創建優異的用戶體驗,提供高影響力的業務解決方案,並利用您現有的VCL技能爲未來構建下一代應
實質上,ReSharper特徵可用於C#,VB.net,XML,Asp.net,XAML,和構建腳本。 使用ReSharper,你可以進行深度代碼分析,智能代碼協助,實時錯誤代碼高亮顯示,解決方案範圍內代碼分析,快速代碼更正,一步完成代碼格
作者:太業 流式處理語言發展 早期流式處理概念: 20 世紀 70 年代,編程語言如 APL 提供了對數組的流式操作,這可以看作是流式處理語法的早期形式。 管道(Pipes)概念在 UNIX 系統中的引進使得可以通過命令行將一個命令的
Qt 是目前最先進、最完整的跨平臺C++開發工具。它不僅完全實現了一次編寫,所有平臺無差別運行,更提供了幾乎所有開發過程中需要用到的工具。如今,Qt已被運用於超過70個行業、數千家企業,支持數百萬設備及應用。 本文將爲大家演示如何使用QRh
JetBrains IDEs日前正式發佈了v2024.1版本,此版本中最大的亮點就是帶來了AI賦能的全行代碼補全,同時在最新的IDEs中重做了終端、擁有更強大的代碼編輯和導航功能、更智能的代碼分析和提示、更優化的性能、更豐富的插件和集成等。
導語 | 近期 TIOBE 最新指數顯示,PHP 的流行度降至了歷史最低,排在第 17 名,同時,在年度 Stack Overflow 開發者調查報告中,PHP 在開發者中的受歡迎程度已經從之前的約 30% 萎縮至現在的 18%。“P
1. 前言 前文實現“代碼可視化”需要了解的前置知識-編譯器前端介紹了編譯器前端知識並附帶了小練習,本文將繼續介紹編譯器中端相關的知識,還是概念+練習的學習方式。中間代碼是用來進行程序分析和實現代碼可視化的關鍵數據,瞭解其生成和優化方式能
在過去的大半年中,我一直投身於一個跨端自渲染項目的研發工作中,負責其中的渲染模塊。現在通過這篇文章,我想記錄並分享我們在這個項目中的經驗和挑戰,希望能爲大家日常開發中的涉及到渲染相關的工作帶來一些啓發和幫助。 跨端自渲染的初衷 跨端自
二叉樹 「二叉樹 binary tree」是一種非線性數據結構,代表“祖先”與“後代”之間的派生關係,體現了“一分爲二” 的分治邏輯。與鏈表類似,二叉樹的基本單元是節點,每個節點包含值、左子節點引用和右子節點引用。 每個節點都有兩個引
和c++中還是有些區別的,c#中需要new圖像,還有就是在設置size時,也要new一下。 using OpenCvSharp; using OpenCvSharp.Extensions; Mat resize_image = new
滴滴滴~ NebulaGraph 今年再次參與由中科院軟件所“開源軟件供應鏈點亮計劃”發起的開源之夏啦! 關於開源之夏 “開源之夏”(簡稱 OSPP)是中國科學院軟件研究所發起的“開源軟件供應鏈點亮計劃系列”暑期活動,旨