1. 程式人生 > >C++學習筆記(第一篇)

C++學習筆記(第一篇)

第1章 C++基本知識

1.1 宣告類和物件 三種方式

    /**********************************************
第一種方式:宣告類的同時定義物件
***********************************************/
class Student /* 宣告類*/
{
public:
    int age;
    int num;
private:
    char sex;

}stud1,stud2;/* 同時定義物件*/
/**********************************************
第二種方式:不出現類名,直接定義物件
***********************************************/
class /* 沒有類名*/ { public: int age; int num; private: char sex; }stud1,stud2;/* 直接定義物件*/ /********************************************** 第三種方式:先宣告類名,再定義物件 ***********************************************/ class Student /* 先宣告類*/ { public: int age; int num; private: char sex; }; /* 再定義物件*/
Student stud1,stud2;

1.2 類的成員函式,inline 成員函式 成員函式的儲存方式

注意:一般函式(非成員函式),指定為行內函數時候,只需在函式宣告或者定義時,對兩者之一作inline宣告即可。成員函式,有以下四種實現方式:
    /**********************************************
第一種方式:直接在類裡面定義成員函式
***********************************************/
class Student 
{
public:
    int age;
    void
display() /* 直接在類裡面定義成員函式*/ { cout << "列印age" << age <<std::endl; } }; /********************************************** 第二種方式:類裡宣告成員函式,在類外定義 ***********************************************/ class Student { public: int age; void display(); /* 類裡宣告成員函式*/ }; /* 在類外定義成員函式一定加入作用域Student::*/ void Student::display() { cout << "列印age" << age <<std::endl; } /********************************************** 第三種方式:類裡面宣告成員函式為inline C++ 預設類裡面的成員函式隱式宣告為inline型 ***********************************************/ class Student { public: int age; inline void display() /* inline 可加,也可不加*/ { cout << "列印age" << age <<std::endl; } }; /********************************************** 第四種方式:類外面宣告成員函式為inline 必須在類內部顯示式宣告成員函式為inline型 ***********************************************/ class Student { public: int age; inline void display(); /* inline 必須加*/ }; inline void Student::display() /* 在類外定義成員inline函式 inline不可少*/ { cout << "列印age" << age <<std::endl; }
成員函式的儲存方式:一個物件所佔的空間大小,只取決於該物件中資料成員所佔的空間,而與成員函式無關。
   
  1. 成員函式不佔物件儲存空間 
  2. 儲存型別如圖1.1。
    儲存型別
    圖1.1

相關推薦

C++學習筆記第一

第1章 C++基本知識 1.1 宣告類和物件 三種方式 /********************************************** 第一種方式:宣告類的同時定義物件 **************************

HTML教程學習筆記第一

學習資料:www.w3cschool.cc   學習日期:2014-11-03 1.DOCTYPE宣告文件型別: HTML5:<!DOCTYPE html> HTML4.01:<!DOCTYPE HTML PUBLIC "-//W3C//DTD H

C++學習筆記初級——作用域與“extern”關鍵字

作用域,顧名思義,就是指某個識別符號在程式中的有效區域。 在C++中,按作用域的大小,一般可分為區域性作用域和全域性作用域。 1.區域性作用域 區域性作用域用大括號,即{},來定義,大括號括起來的範圍就是一個區域性作用域。區域性作用域內,一個變數或者函式的有效位置是從其宣告

C/C++日常學習總結第一const用法及printf的執行順序

1.c語言中printf在不同編譯器下面的執行順序    【程式碼】:   int n = 0; printf("%d,%d,%d",++(++n),++(++n),++(++n));    【結果】:      VC6.0下面的結果是:6,5,4        

Angular學習筆記工具----Angular CLI

進入 詳情 基礎 rate 9.png cnpm 基本用法 版本問題 問題 Angular CLI 的作用 首先安裝npm 和node 詳情:http://www.cnblogs.com/gorgeous/p/8074180.html 在安裝 npm in

Python 3.5學習筆記第一

不可見 pytho DC HR pri 由於 python 世界 oop 聲明:本文只用作記錄自己的學習過程,請勿用於商業用途,部分內容引用自他人文章,如有侵權,聯系刪除。 本周內容:   1、安裝python 3.5 和 PyCharm 社區版   2、第一個python

python學習筆記第一:變量

style div 控制 學習筆記 變量賦值 類型 重新 col pri 在python中申明一個變量,不需要申明變量的類型,如下: name = "Eraser Li" 打印變量,代碼如下: print("My name is",name) 控制臺輸出結果: M

java-web學習筆記第一

第一章 靜態網站 文件 jdk cat CA 結果 靜態 web入門 第一章:javaweb入門??1,靜態網站和動態網站的區別??2,知道c/s結構和b/s結構??3,web應用程序的處理過程:????用戶通過瀏覽器向服務器發送請求;????服務器端處理用戶的請求;???

tensorflow學習筆記第一-深度卷積神經網路

一、在這裡首先需要了解一些概念性的東西,當然我是才接觸,還不太熟悉: 1.numpy      NumPy系統是Python的一種開源的數值計算擴充套件。這種工具可用來儲存和處理大型矩陣,比Python自身的巢狀列表(nested l

tensorflow學習筆記第一-MNIST機器學習入門

MNIST機器學習入門 這個是關於tensorflow的中文文件: http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/mnist_beginners.html MNIST是一個入門級的

C#】C#學習筆記持續更新

本章比較雜亂,是本人在學習C#中的一些筆記,並不全面,只是一些隨筆。 1.一個 C# 程式主要包括以下部分: 名稱空間宣告(Namespace declaration) 一個 class Class 方法 Class 屬性 一個 Main 方法 語句(Stat

C++學習筆記十一

基類與派生類、多型公有繼承、虛擬函式的過載與重寫、protected、抽象基類(ABC) 1.派生類與基類:      派生類物件儲存了基類的資料成員和方法(即繼承了基類的實現和介面),派生類需要自己新增新的構造和額外的資料成員即成員函式。     派生類的建構函式必須

Opengl es2.0 學習筆記API所有API的翻譯

包含了 gl2.h 和egl.h兩個標頭檔案 gl2.h gl2資料結構 /*------------------------------------------------------------------------- * Data type defi

C++學習筆記更新中

C和C++的區別 a. C是結構化的語言,面向過程,重點在於資料結構和演算法 b. C語言的API比較簡潔 c. C++包含了絕大部分C語言的功能,並且提供OOP(面向物件程式設計)和GP

浙大《java語言》學習筆記第一

1.1用類製造物件      1.2定義類 這裡我們定義了一個類 這裡我們寫一個VendingMachine的類 package vendingmachine; public class VendingMachine { i

深度學習筆記基礎——線性單元和梯度下降

        在上一篇文章中,我們已經學會了編寫一個簡單的感知器,並用它來實現一個線性分類器。你應該還記得用來訓練感知器的『感知器規則』。然而,我們並沒有關心這個規則是怎麼得到的。本文通過介紹另外一種『感知器』,也就是『線性單元

深度學習筆記基礎——機器學習與深度學習簡介

  機器學習是最基礎的(當下初創公司和研究實驗室的熱點領域之一)。深度學習是非常嶄新和有影響力的前沿領域。 一、定義 1、機器學習    從樣本中學習的智慧程式。是資料驅動的。90年代初提出。強調的是給計算機程式(或者機器)輸入一些資料後,它學習這些資料,而

吳恩達deeplearning.ai課程《改善深層神經網路:超引數除錯、正則化以及優化》____學習筆記第一

____tz_zs學習筆記第一週 深度學習的實用層面(Practical aspects of Deep Learning)我們將學習如何有效運作神經網路(超引數調優、如何構建資料以及如何確保優化演算法快速執行)設定ML應用(Setting up your ML applic

《深入分散式快取:從原理到實踐》學習筆記最終

第十四章 典型電商應用與快取 及時響應性的使用者需求 資料準確行需求 平臺海量請求的訴求 高可用訴求 14.1 電商類一個你用的挑戰及特點 穩定性決定服務能力 高併發場景(Scale Out 加機器、Scale Up 提

南郵攻防平臺學習筆記web

1、MD5 collision <?php $md51 = md5('QNKCDZO'); $a = @$_GET['a']; $md52 = @md5($a); if(isset($a)){ if ($a != 'QNKCDZO' &&am