原创 c++運算符重載(四)
運算符進行重載的目的:C++預定義中的運算符的操作對象只侷限於基本的內置數據類型,但是對於我們自定義的類型(類)是沒有辦法操作的。但是大多時候我們需要對我們定義的類型進行類似的運算,這個時候就需要我們對這麼運算符進行重新定義,賦予其新的功
原创 初步瞭解
1. 什麼是計算機程序?什麼是編程語言?爲什麼需要編程語言?編程語言是用來幹嘛的?舉例一些編程語言,以及他們各自的特點? ① 計算機的程序是有一系列的機器指令組成的,而指令就是要計算機執行某種操作的命令。 ② 是用來定義計算機程序的形式語
原创 c++虛函數繼承與虛繼承(五)
虛函數繼承和虛繼承是完全不同的兩個概念。 虛函數繼承是解決多態性的,當用基類指針指向派生類對象的時候,基類指針調用虛函數的時候會自動調用派生類的虛函數,這就是多態性,也叫動態編聯。可以說是針對成員函數問題,使得基類指針可以使用
原创 c++類的小知識(三)
#include <stdio.h>#include<iostream>using namespace std;class Test{ char name[10];public: static int m_sum;
原创 c++中virtual的用法實踐(六)
#include<iostream> using namespace std; class Employee //員工類 { public: int m_id; char *m_name; double m_mone
原创 c++設計模式(八)
設計模式分爲三大類:創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。行爲型模式,共十一種:策略模式、模板方法模式
原创 c++的棧解旋操作(七)
#include<iostream> using namespace std; class Test { int m_a; public: Test() { cout<<"constructor"<<endl; } ~T
原创 c++類的逐步瞭解(二)
#include <iostream>using namespace std;class Test{private: int m_a; int m_b; int m_c;public: Test(int a, int
原创 最基本的單鏈表同學錄
#include <stdio.h> #include "string.h" #include<stdlib.h> #define NULL 0 #define LEN sizeof(struct student) struct st
原创 數組與指針(1)
#include<stdio.h> int main() { int a[4]={1,2,3,4}; int *p=(int *)(&a+1); printf("%d",*(p-1)); return 0;
原创 宏定義的首次接觸
#include<stdio.h> #include<string.h> #define SQR(x) x*x int main() { int a; int k=3; a=++S
原创 C++函數對象
//函數對象: 重載函數調用操作符的類, 其對象常稱爲函數對象(function object), 即它們是行爲類 似函數的對象。 一個類對象, 表現出一個函數的特徵, 就是通過“對象名+(參數列表)”的方式 使用一個類對象, 如果沒有上
原创 sizeof的小陷阱
int main() { int i=1; printf(“%d,%d\n”,sizeof(++i),i); return 0; } 知識點在於關鍵字sizeof(i++),由於sizeof()是計算內存大小,對立面的變量數值不
原创 樹的層次遍歷,vector,,dequeue,stack
方法在於使用隊列(queue)和數組(vector)將樹的根結點放入隊列,然後取隊頭元素,判斷這個元素對應的結點是否存在左右孩子結點,存在就將其放入隊列中,並且執行出隊操作,將隊頭元素放入數組中。 例題1、從上往下打印出二叉樹的每個
原创 練習鏈表的小應用
在一個排序的鏈表中,存在重複的結點,請刪除該鏈表中重複的結點,重複的結點不保留,返回鏈表頭指針。 例如,鏈表1->2->3->3->4->4->5 處理後爲 1->2->5 鏈表的應用都是在瞭解了基本操作後,能夠對應不同的問題有不同的