您好,登錄后才能下訂單哦!
一.類的組合
電腦一般而言是由CPU、內(nèi)存、主板、鍵盤和硬盤等部件組合而成。下圖可以表示該關(guān)系
A.類通常分為以下兩個(gè)部分
1.類的實(shí)現(xiàn)細(xì)節(jié)
2.類的使用方式
1.當(dāng)使用類時(shí),不需要關(guān)心其實(shí)現(xiàn)細(xì)節(jié)
2.當(dāng)創(chuàng)建類時(shí),才需要考慮其內(nèi)部實(shí)現(xiàn)細(xì)節(jié)
二.封裝的基本概念
C++中類的封裝
1.成員變量:C++中用于表示類屬性的變量
2.成員函數(shù):C++中用于表示類行為的函數(shù)
3.C++中可以給成員變量和成員函數(shù)定義訪問(wèn)級(jí)別--public:成員變量和成員函數(shù)可以在類的內(nèi)部和外界訪問(wèn)和調(diào)用;private:成員變量和成員 函數(shù)只能在類的內(nèi)部被訪問(wèn)和調(diào)用
代碼示例
#include <stdio.h>
struct Biology {
bool living;
};
struct Animal : Biology {
bool movable;
void findFood() { }
};
struct Plant : Biology {
bool growable;
};
struct Beast : Animal {
void sleep() { }
};
struct Human : Animal {
void sleep() { }
void work() { }
};
struct Gril:human
{
private:
int age;
int weight;
public:
void print()
{
age = 22;
weight = 48;
printf("I'm a girl, I'm %d years old.\n", age);
printf("My weight is %d kg.\n", weight);
}
};
struct Boy:human
{
private:
int height;
int salary;
public:
int age;
int weight;
void print()
{
height = 175;
salary = 9000;
printf("I'm a boy, my height is %d cm.\n", height);
printf("My salary is %d RMB.\n", salary);
}
};
int main()
{
Gril g;
Boy b;
return 0;
}
輸出結(jié)果
三.類成員的作用域
1.類成員的作用域都只在類的內(nèi)部,外部無(wú)法直接訪問(wèn)
2.成員函數(shù)可以直接訪問(wèn)成員變量和調(diào)用成員函數(shù)
3.類的外部可以通過(guò)變量訪問(wèn)publi成員
4.類成員的作用域與訪問(wèn)級(jí)別沒(méi)有關(guān)系
C++中用struct定義的類中所有成員默認(rèn)為public
代碼實(shí)現(xiàn)
#include <stdio.h>
int i = 1;
struct Test
{
private:
int i;
public:
int j;
int getI()
{
i = 3;
return i;
}
};
int main()
{
int i = 2;
Test test;
test.j = 4;
printf("i = %d\n", i); // i = 2;局部變量
printf("::i = %d\n", ::i); // ::i = 1;全部變量
// printf("test.i = %d\n", test.i); // Error
printf("test.j = %d\n", test.j); // test.j = 4
printf("test.getI() = %d\n", test.getI()); // test.getI() = 3
return 0;
}
小結(jié)
1.類通常可以分為使用方式和內(nèi)部細(xì)節(jié)兩部分
2.類的封裝機(jī)制使得使用方式和內(nèi)部細(xì)節(jié)相分離
3.C++中通過(guò)定義類成員的訪問(wèn)級(jí)別實(shí)現(xiàn)封裝機(jī)制
4.public成員可以在類的內(nèi)部和外界訪問(wèn)和調(diào)用
5.private成員只能在類的內(nèi)部被訪問(wèn)和調(diào)用
在C++中提供新的關(guān)鍵字class用于類定義
在用struct定義類時(shí),所有成員的默認(rèn)訪問(wèn)級(jí)別為public
在用class定義類時(shí),所有成員的默認(rèn)訪問(wèn)級(jí)別為private
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。