C 類的介紹和使用

2021-08-19 05:30:29 字數 2655 閱讀 2909

01, c++中的 struct 和c語言的區別

a) c++中的struct 不僅可以宣告成員變數, 還可以宣告成員函式

struct person

};

b) c++中宣告乙個 struct 物件

//c++中就不用再寫成 struct person t_man 了

person t_man = ;

在c語言中要寫成struct person t_man;, 而在c++中省略了struct

02, 宣告類的關鍵字 class, struct 也可以宣告類

類的三個區間:publicprotectedprivate

類的作用域: 類定義的部分和類的成員函式定義的部分

類內和類外: 類的作用域內/類的作用域外

類中的內聯函式, 必須宣告定義在乙個檔案, 也可以直接在類中定義

類中的函式過載

this 指標

student.h

class student //宣告乙個學生類

//類中的函式過載, 預設引數必須寫在函式定義處

/*void setinfo(const string &t_name);*/

void setinfo(const

string & t_name = "jack", const

int t_age = 21, const

int t_hight = 180);

類的成員函式可以訪問類的所有成員

void test_fun1()

//受保護的

protected:

int weight;

char tel[12]; //這2個成員變數屬於protected區,是受保護的

int getweight();

//私有的

private:

int salary; //這個成員變數屬於private區,是私有的

int getsalary();

};

student.cpp

#include "student.h"

#include

using

namespace

std;

//this 指標, 存放類物件的首位址

//this 指標是隱藏在成員函式中的第乙個形參

// return this->name;

string student::getname()

//void student::setinfo(const string & t_name)

//void student::setinfo(const

string & t_name, const

int t_age, const

int t_hight)

main.cpp

#define _crt_secure_no_warnings 1

#include

#include

#include "student.h"

using

namespace

std;

//1, c++中的struct 不僅可以宣告成員變數, 還可以宣告成員函式

struct person

};int main()

; t_man.print();

//宣告乙個類的物件

student t_student;

t_student.setinfo("張三");

cout

<< endl;

t_student.print();

t_student.setinfo("李四", 88);

cout

<< endl;

t_student.print();

student& t_student01 = t_student;//類的引用

t_student01.name;

t_student.getname();

student* p_student = &t_student;//類的指標

p_student->age;

p_student->getname();

t_student.age;//在類外, 類的物件, 引用, 指標, 只能訪問類的public成員

//t_student.weight;//在類外, 無法訪問類的protected成員

//t_student.salary;//在類外, 無法訪問類的private成員

t_student.getname();

cout

<< endl;

cout

<< "t_student address: "

<< &t_student << endl;

cout

<< endl;

system("pause");

return

0;}

c 結構和類的相關介紹

我們不關心物件內部是怎麼實現的,我們關心的是他提供給我什麼介面,有什麼操作。從技術上來說,結構屬於值型別,而類屬於引用型別。結構不能指定繼承基類型別,類可以。不過結構和類都能實現介面。一 應用場合 結構的應用場合 一 自定義資料型別,資料成員是公開的,提供工具函式。二 抽象的資料型別,資料成員是密封...

C 結構體和類介紹

include stdafx.h include include using namespace std struct test 定義乙個名為test的結構體 void main movie 可以在宣告struct的時候宣告乙個struct例項,這個有啥意思呢?int main dates char...

OpenCV中Mat類的介紹和使用

自從opencv產生以來,其函式庫一直是基於c介面構建的,因此在最初的幾個opencv版本中,一般使用名為iplimage的c語言結構體在記憶體中儲存影象。直到現在,仍然出現在大多數的舊版教程中。對於opencv1.x時代的基於c語言介面而建的影象儲存格式iplimage 如果在退出前忘記relea...