C++语言之类class

在现实世界中,经常有属于同一类的对象。例如,你的自行车只是世界上很多自行车中的一辆。在面向对象软件中,也有很多共享相同特征的不同的对象:矩形、雇用记录、视频剪辑等。可以利用这些对象的相同特征为它们建立一个集合。而这个集合就称为类。类是定义同一类所有对象的变量和方法的蓝图或原型。例如,可以建立一个定义包含当前档位等实例变量的自行车类。这个类也定义和提供了实例方法(变档、刹车)的实现。实例变量的值由类的每个实例提供。因此,当你创建自行车类以后,必须在使用之前对它进行实例化。当创建类的实例时,就建立了这种类型的一个对象,然后系统为类定义的实例变量分配内存。然后可以调用对象的实例方法实现一些功能。相同类的实例共享相同的实例方法。
除了实例变量和方法,类也可以定义类变量和类方法。可以从类的实例中或者直接从类中访问类变量和方法。类方法只能操作类变量 - 不必访问实例变量或实例方法。系统在第一次在程序中遇到一个类时为这个类建立它的所有类变量的拷贝 - 这个类的所有实例共享它的类变量。
摘抄自百度:点击打开链接

接下来,看看代码,举一个简单的案例:

1、

#include <iostream>

using namespace  std ; 


//定义HotDog类
//注意:类没有空间
class  HotDog
{
	//私有成员
	private:
	//只有本身成员方法可以访问或者友员函数可以访问
		int  age ;    //成员变量 
		int  bbb ; 

	//公有成员
	public:
		//成员方法  成员函数
		//static void say_hello(void)
		 static void say_hello(void)
		{
			int a ; 
			int b ; 
			cout << "hello HotDog" << endl ; 
		}
		//一般情况只要是私有成员都需有get  set 操作方法 
		void Set_Age(int age)
		{
			this->age = age ; 
		}
		
		int Get_Age(void)
		{
			return this->age ; 
		}
	//声明某个函数为该类的友员函数
	friend  int main(void) ; 
	//受保护成员
	protected:




};

int main(void)
{
	class HotDog  Dog ; 
	
	Dog.age = 100 ; 

	cout << "age : " << Dog.age << endl ; 

//	Dog.Set_Age(100);
//
//	cout << "age : " << Dog.Get_Age() << endl ; 
	//除非操作方法被声明为static才可以用类名直接调用
	HotDog::say_hello();

	return 0 ;
}

执行结果:a:100

 hello HotDog



### C++ 中类(Class)的定义和使用方法 #### 1. 类的基本概念 C++ 是一种支持面向对象编程的语言,而类是其核心特性之一。通过类可以封装数据成员和成员函数,从而实现数据抽象和信息隐藏。 在 C++ 中,`class` 和 `struct` 都可用于定义类[^1]。两者的区别在于默认访问权限不同: - 使用 `struct` 定义的类,默认访问权限为 `public`; - 使用 `class` 定义的类,默认访问权限为 `private`。 #### 2. 类的定义方式 类通常由关键字 `class` 开头,后面紧跟类名以及一对大括号 `{}` 来包裹类的内容。最后需要用分号结束整个声明[^2]。以下是基本语法: ```cpp class ClassName { // 数据成员和成员函数 }; ``` #### 3. 成员变量与成员函数 类中的成员分为两种主要类型: - **数据成员**:用于存储类的状态或属性。 - **成员函数**:用于操作这些数据成员的方法。 下面是一个简单的例子,展示如何定义并初始化类的数据成员和成员函数[^3]: ```cpp class Example { public: void setX(int value) { _x = value; } int getX() const { return _x; } private: int _x; }; int main() { Example e; e.setX(42); cout << "Value of X: " << e.getX() << endl; return 0; } ``` 在此示例中,`_x` 是私有的数据成员,只有通过公共接口 (`setX`, `getX`) 才能对其进行修改或读取。 #### 4. 构造函数 为了方便创建对象时初始化数据成员,可以在类中定义构造函数。构造函数的名字与类名相同,并且不返回任何值 (包括 `void`)。 除了无参构造函数外,也可以提供带参数的构造函数来完成更复杂的初始化工作[^4]。例如: ```cpp #include <iostream> using namespace std; class Point { private: double x, y; public: // 带参数的构造函数 Point(double initial_x, double initial_y) : x(initial_x), y(initial_y) {} void displayCoordinates() const { cout << "Point coordinates: (" << x << ", " << y << ")" << endl; } }; int main() { Point p(3.5, 7.2); p.displayCoordinates(); return 0; } ``` 在这个程序里,当调用 `Point p(3.5, 7.2)` 创建新对象时,会自动执行对应的构造函数以设置初始坐标值 `(3.5, 7.2)`。 --- ### 总结 C++ 的类提供了强大的工具让开发者能够构建复杂的应用逻辑。无论是简单还是高级的功能需求,都可以借助于类的设计原则去满足实际开发场景的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值