c++基本學(xué)習(xí)_01

學(xué)完c然后學(xué)c++基本語法,開始還是會有一些轉(zhuǎn)變不過來

#pragma once表示只導(dǎo)入一次頭文件

new關(guān)鍵字的使用,需要在堆內(nèi)存分配內(nèi)存的時候使用,和c的動態(tài)分配內(nèi)存相同,使用完手動調(diào)用delete(void *);

命名空間(name namespace)

使用:
//這里代表使用命名空間和java導(dǎo)包有點類似
using namespace std;
//導(dǎo)入后可以這樣使用
cout << "這是命名空間" << endl;
//未導(dǎo)入命名空間
std::cout << "name is joker" << std::endl;
作用域符號::的前面一般是類名稱,后面一般是該類的成員名稱
再來一個自己定義的列子:
//定義一個命名空間
1.不導(dǎo)入
namespace TSIMEON {
    void name() {
        std::cout << "name is tsimeon" << std::endl;
    }
}
int main() {
    //使用
    TSIMEON::name();
}
2.導(dǎo)入
using namespace TSIMEON;
int main() {
    //使用
    name();
}

類(關(guān)鍵字class)

修飾符[默認是private]這一點和java有所不同
  • public

  • private

  • protected

    使用:

Student.h

#ifndef JNIWORK_STUDENT_H
#include <iostream>
using namespace std;
#define JNIWORK_STUDENT_H

class Student {
    //享元函數(shù)
    friend void changeAge(Student *);

    friend class Teacher;

    //默認是private
    string name;
    int age;
public:
    //構(gòu)造函數(shù)
    Student();

    //構(gòu)造函數(shù)
    Student(string name, int age);

    //析構(gòu)函數(shù)
    ~Student();

    string getName() {
        return this->name;
    }

    int getAge() {
        return this->age;
    }

private:
    bool sex;

};


class Teacher {
public:
    void modifyStu(Student *stu) {
        stu->name = "班主任:名字給你改了";
    }

};

#endif //JNIWORK_STUDENT_H

Student.cpp

#include "Student.h"
#include <iostream>

using namespace std;

Student::Student() {
    cout << "無參構(gòu)造函數(shù)" << endl;
}

Student::Student(string name, int age) : name(name), age(age) {
    cout << "有參數(shù)構(gòu)造函數(shù)" << endl;
}

Student::~Student() {
    //釋放內(nèi)存的時候自動調(diào)用_可以做一些收尾的工作
    cout << "析構(gòu)函數(shù)" << endl;
}

//運行函數(shù)
int main() {

    Student *student = new Student("tsimeon", 29);
    cout << student->getName() << endl;
    changeAge(student);
    cout << "改變后的名字:" << student->getName() << endl;
    Teacher teacher;
    //修改學(xué)生的名字
    teacher.modifyStu(student);
    cout << "老師修改后的名字:" << student->getName() << endl;
    //釋放
    delete (student);
    student = 0;
}
理解:享元類和享元函數(shù)可以訪問私有的變量。析構(gòu)函數(shù)是釋放內(nèi)存的時候自動調(diào)用_可以做一些收尾的工作
單列和java類似(保證構(gòu)造方法私有化)

Instance.h

#ifndef JNIWORK_INSTANCE_H
#define JNIWORK_INSTANCE_H

//單列
class Instance {
private:
    static Instance *instance;

    //構(gòu)造方法私有化
    Instance();

public:
    static Instance *getInstance();
};


#endif //JNIWORK_INSTANCE_H

Instance.cpp

#include "Instance.h"

//構(gòu)造方法
Instance::Instance() {

}

Instance *Instance::getInstance() {
    //c++11  編譯器 保證內(nèi)部靜態(tài)變量 的線程安全
    if (!instance) {
        instance = new Instance();
    }
    return instance;
}

使用:

int main() {
    Instance *instance = Instance::getInstance();
}
運算符重載

可以重定義或重載大部分 C++ 內(nèi)置的運算符摩渺。
重載的運算符是帶有特殊名稱的函數(shù)窄驹,函數(shù)名是由關(guān)鍵字 operator 和其后要重載的運算符符號構(gòu)成的

1.成員函數(shù)寫法
Operator.h

//運算符重載
#ifndef JNIWORK_OPERATOR_H
#define JNIWORK_OPERATOR_H
#pragma once

#include <iostream>

using namespace std;

class Operator1 {
public:
    int i = 0;

    Operator1() {

    }

    //成員函數(shù)運算符重載
    Operator1 *operator+(const Operator1 &t) {
        Operator1 *temp = new Operator1();
        temp->i = this->i + t.i;
        return temp;
    }
};


#endif //JNIWORK_OPERATOR_H

使用:

int main() {
    Operator1 op0;
    op0.i = 100;
    Operator1 op1;
    op1.i = 100;
    //Operator1* operator2 = op0.operator+(op1);這句話相當于下面這句,運算符重載
    Operator1 *operator2 = op0 + (op1);
    cout << operator2->i << endl;
     //輸出值是200
    return 0;
}

2.普通寫法

//運算符重載
int operator+(const Operator1 &t1, const Operator1 &t2) {
    return t1.i + t2.i;
}

int main() {
    Operator1 op0;
    op0.i = 100;

    Operator1 op2;
    op2.i = 100;
    //Operator1* operator1 = op0.operator+(op2);這句話相當于下面這句,運算符重載
    int value = op0 + (op2);
    cout << value << endl;
    //輸出值依然是200
    return 0;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市证逻,隨后出現(xiàn)的幾起案子乐埠,更是在濱河造成了極大的恐慌,老刑警劉巖囚企,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丈咐,死亡現(xiàn)場離奇詭異,居然都是意外死亡龙宏,警方通過查閱死者的電腦和手機棵逊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來银酗,“玉大人辆影,你說我怎么就攤上這事徒像。” “怎么了蛙讥?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵锯蛀,是天一觀的道長。 經(jīng)常有香客問我次慢,道長旁涤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任迫像,我火速辦了婚禮劈愚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘闻妓。我一直安慰自己菌羽,他們只是感情好,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布由缆。 她就那樣靜靜地躺著算凿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪犁功。 梳的紋絲不亂的頭發(fā)上氓轰,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天,我揣著相機與錄音浸卦,去河邊找鬼署鸡。 笑死,一個胖子當著我的面吹牛限嫌,可吹牛的內(nèi)容都是我干的靴庆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼怒医,長吁一口氣:“原來是場噩夢啊……” “哼炉抒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起稚叹,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤焰薄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扒袖,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體塞茅,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年季率,在試婚紗的時候發(fā)現(xiàn)自己被綠了野瘦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鞭光,靈堂內(nèi)的尸體忽然破棺而出吏廉,到底是詐尸還是另有隱情,我是刑警寧澤惰许,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布席覆,位于F島的核電站,受9級特大地震影響啡省,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜髓霞,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一卦睹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧方库,春花似錦结序、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至邀层,卻和暖如春返敬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背寥院。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工劲赠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秸谢。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓凛澎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親估蹄。 傳聞我的和親對象是個殘疾皇子塑煎,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,089評論 1 32
  • C++運算符重載-下篇 本章內(nèi)容:1. 運算符重載的概述2. 重載算術(shù)運算符3. 重載按位運算符和二元邏輯運算符4...
    Haley_2013閱讀 1,435評論 0 49
  • C++運算符重載-上篇 本章內(nèi)容:1. 運算符重載的概述2. 重載算術(shù)運算符3. 重載按位運算符和二元邏輯運算符4...
    Haley_2013閱讀 2,285評論 0 51
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy閱讀 9,506評論 1 51
  • 重新系統(tǒng)學(xué)習(xí)下C++;但是還是少了好多知識點臭蚁;socket最铁;unix;stl垮兑;boost等炭晒; C++ 教程 | 菜...
    kakukeme閱讀 19,795評論 0 50