本文的編寫是為了在學習c++的時候加深自己的記憶,同時也為與我一般的初學者提供一些參考,
此處特別感謝
1.在文章開始之前先說一下簡單的資料型別和0的比較:
(1)int型資料比較簡單,可以直接和0比較,即if(int i == 0)或者if(int i != 0)
(2)指標型資料比較是和null進行比較,即if(*i == 0)或者if(*i != 0)
(3)double(float)型資料存在精度,不能直接和0進行比較,可定義乙個接近0的double(float)數值,比如double a=0.0001, if (double b>-a)&&(b
(4)bool型資料只需要比較0和非0,即if(a)或者if(!a)
2.那麼接下來我們就開始學習c++d的類
(1)宣告函式模板:template或者template
當然可以定義不止乙個型別,可以多個,只是每個型別的名字不同:template
此次給出乙個例子:
//從乙個陣列裡面找出最小的元素:
template//定義型別
t min(t(&in_array)[size])//定義函式min
return min; }
(2)建構函式,拷貝函式,賦值函式,析構函式 ①
建構函式的名字與類的名字相同,沒有返回型別,但是有引數列表(可能為空)和函式體(可能為空)。建構函式的作用是初始化類物件的資料成員,當類的物件被建立時就會執行建構函式。
②拷貝函式,作用在於把乙個物件的值拷貝給另外乙個物件
③賦值函式,通過賦值操作「=」給物件賦值
④析構函式,用於銷毀物件佔的記憶體空間
(3)給出乙個輸入表的時間,輸出時針和分針的角度。一般開始寫類的專案時,可以寫三個文件,乙個是原始檔.h的類宣告,乙個是宣告對應的類定義.cpp,還有乙個就是呼叫的主函式main()。下面給出乙個簡單的事例:
函式的宣告
#pragma once
#include
#include
using namespace std;
class clock1 ;
已宣告的函式的定義
#include"clock.h"
clock1::clock1() :m_mm(0),m_hh(0), diff(0.0)
clock1::~clock1()
clock1& clock1::sethh(int hh)
clock1& clock1::setmm(int mm)
int clock1::gethh()
int clock1::getmm()
void clock1::diffa()
void clock1::show()
//clock_main主函式
#include"clock.h"
int main()
return 0;}
(4)訪問控制與封裝
①public://可被整個程式訪問
②private://被類的成員函式訪問
第九講問題
第九講0.3工程編譯後執行時影象一閃而過,終端顯示 key frame size 0 double free or corruption out 已放棄 核心已轉儲 解決辦法 把cmakelists.txt中的 set cmake cxx flags std c 11 march native 03...
Python 第九講 切片
切片 取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。...
第九講 變數替換
變數替換,替換變數中的字元 變數替換的基本形式 變數名 被替換字元 替換字元 替換字元 會替換變數中每個 被替換字元 先來看個例子 echo off rem 設定乙個變數 set var qq大戰360 rem 替換變數中的 大戰 為 pk 顯示出來 echo var 大戰 pk pause rem...