c++类解析

本文围绕C++类展开解析,介绍了类与对象的区别,类属于自定义类型且定义需遵循ODR原则。阐述了类定义的格式,类成员的种类及定义规则,包括非静态、静态数据成员和函数成员。还提及访问控制、方法定义以及this指针的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++类解析
类:要了解类,首先要将类与对象的定义区分开来,例如当回答“什么是橘子时”就在讨论橘子这种水果,所有橘子都是水果,所有橘子都在树上,类只是封装了用来定义对象分类的信息,他描述一个特定橘子是就是在讨论一个对象,所有对象都属于某个特定的类。类只能在一个作用预定一次不同编译单元的类定义,尊应遵从ODR原则。类,属于自定义类型。
1.类定义
每个类定义都以关键词class和类名开始,类定义是一条C++语句,因此必须用分号结束。
类头从通常为class ClassName;
类体是成员的说明:数据或者函数成员的声明类型成员的定义。

class SpreadsheetCell
{
	public:
	void setValue(double inValue);
	double getValue() const;
	private:
	doouble m_Value;
};

2.类成员
内可有许多成员。成员可以是成员函数(方法、构造函数或者析够函数),也可以是成员变量,(也称数据成员)、成员枚举、类型别名和嵌套类等。
类成员的定义规则:
*1.*非静态数据成员不需要显式定义:这种成员的定义在创建对象时由编译器自动实现根据其声明的类型分配存储使用对象,创建时传递的初始式通过构造函数对其初始化。这种成员必须通过对象名进行访问。
*2.*静态数据成员需要显式定:包括指定其初始式,这种成员是所有对象共享访问的数据,通过类名进行访问需要在类模块中进行定义。
*3.*函数成员需要显式定义:无论是非静态(通过对象名访问)或者是静态的(通过类名访问),其内容都是不可修改的指令,被类的所有对象共同使用。
注:最好将不改变对象的成员函数声明为const,成员函数与数据成员不能同名
3.访问控制
类中每个方法和成员都可用三种访问符之一来说明:public 、 protected或者private访问说明符将应用于其后声明的所有成员,直到遇到另一个访问说明符。
4.定义方法:
类定义必须在方法定之前,通常类定义在头文件中,方法定义在包含头文件的源文件中,下面是SpreadsheetCell类中的两个方法的定义。

#include "SpreadsheetCell.h"
viod SpreadsheetCell::setValue*(double inValue)
{
	m_value = inValue;
}

double SpreadsheetCell::getValue() const
{
	return m_value;
}

4.this指针
每个普通的方法调用都会传递一个指向对象的指针,这就是成为“隐藏”参数的this指针,使用这个指针可以访问数据成员或者调用方法,也可将其传递给其他方法或函数,有时还用它来消除名称的起义。

void SpreadsheetCell::setValue(double value)
{
	value = value;
}
改写为
void SpreadsheetCell::setValue(double value)
{
	this->value = value;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值