【C++ 基础】类讲解

发布于:2025-02-11 ⋅ 阅读:(30) ⋅ 点赞:(0)


C++的核心概念

struct myStu
{
	int id;
	char name[128];
};

类:

1、脑海中呈现代码需要表现的实体;
2、在这些实体中去寻找具有共性数据,共性行为;
3、创建类;

通过类再去创建对象

梨树 栅栏 房子 桥梁 假山

实体(抽象)->类(实例化)->对象

类的优点:

1、使程序设计本身更合理,更有条理
2、程序的可读性更好
3、程序的设计过程就像模块组装
4、使程序由多个程序员设计变得更为方便和快捷
5、程序的可重用性
6、数据做为中心,改变函数做为中心的概念,行为是为数据服务的,更加贴近现实

类的定义

	class CMyStu
	{
		int id;
		char name[128];
	};
	C++的类是在结构体的基础上扩充过来的,在C++里面结构和类的区别只有一个:类是私有属性的结构,结构是公有属性的类
	公有属性:(公园)
	私有属性:(卧室)
	保护属性:(客厅)
	在C++里面结构能做的类都可以做,类可以做的结构也都可以做,通常在C++里面用结构仅仅数据,不带行为,如果需要表现行为
	用类来表示

类包含两个部分:

//1、类声明;
//2、类实现(类中成员函数的实现)

class CBox
{
//类的数据成员
int width;
int height;
int length;
//类的成员函数(行为)
void setBoxSize(int w, int h, int l)
{
	width = w;
    height = h;
	length = l;
}
int getBoxWidth()
{
	return width;
}
int getBoxHeight();
int getBoxLength();
};

类的注意事项:

1、class关键字,其它和结构类似 
2、访问属性三种,每一种代表一种修饰,从这个属性到下一个属性都由当前属性修饰
3、只有类的成员函数可以直接使用私有的数据成员,私有的函数成员
4、公有的属性可以在程序的任何位置被任何函数或语句调用
5、定义类时,如果没有指明访问属性,默认私有
6、类的定义,类声明的花括号叫定义域

##代码

#include "box.h"
int _tmain(int argc, _TCHAR* argv[])
{
	CBox b;//b就是cbox类型的一个变量,对象(变量包含行为)
	b.setBoxSize(100, 200, 20);//通过.运算符去访问类成员
	b.setBoxa(123);

	printf("%d,%d,%d\n",b.getBoxWidth(),b.getBoxHeight(),b.getBoxLength());
	printf("a = %d\n",b.getBoxa());

	//int *p1 = new int;


	//CBox *pb = NULL;//对象指针,一个指针,占4字节,指向一个cbox的对象
	//pb = &b;
	//pb = new CBox;//pb指向堆区动态开辟一个无名cbox对象
	//pb->setBoxSize(10, 5, 100);//通过->运算符去访问类成员
	//delete pb;
	//pb = NULL;

	this指针
	this C++保留字,是一个指针,在任何一个类成员函数的运行过程中,this总是指向当前调用者对象
	// C *const this;
	//特点:
	//1、this是类的指针,指向类的对象
	//2、this是类对象被创建后,其成员函数调用时,this就同时被说明和创建
	CBox b1;
	b1.setBoxa(234);
	printf("b1.a = %d\n",b1.getBoxa());

	//int a;
	//a = 10;

	//b.length = 100;
	//printf("hello world\n");
	//getchar();
	return 0;
}

网站公告

今日签到

点亮在社区的每一天
去签到