C++类与对象:类的实现与使用

本文详细介绍了C++中类的访问控制,包括public、protected、private成员的使用。接着讲解了类的定义和实现,包括两种实现方式。还探讨了如何创建对象并访问成员,如通过对象、对象指针和对象引用。最后,总结了定义和使用类的整个过程,强调了抽象、声明、实现和使用的重要性。

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

类的访问控制

数据封装的目的就是信息的隐蔽。为了达到信息的隐蔽,在C++类中,并非所有成员都是对外可见的(或者说是类外可访问的)。

通过设置成员的访问控制属性来实现对类成员的访问控制。
这些控制属性有:public、protected、private

class ClassName{
		public:公有成员;
		protected:保护成员;
		private:隐私成员;
};

所有函数都可以访问公有成员,只有本类内的函数才可以访问保护成员和隐私成员,这两种暂时不做区分(学完继承与派生再做区分。。。学习中)

类的实现

定义类

class Clock{
		private:
				int Hour,Minute,Sencond;
		public:
				void SetTime(int h,int m,int s);//给出函数原型
				void ShowTime();//给出函数原型
};

类实现的两种方式

//类内实现,自动按内联函数处理
class Clock{
		private:
				int Hour,Minute,Sencond;
		public:
				void SetTime(int h,int m,int s){
					Hour=h;Minute=m;Second=s;
				}
				void ShowTime(){
					cout<<"Current Time";
					cout<<Hour<<":"<<Minute<<":"<<Second<<endl;
					}
};
//类外实现
class Clock{
		private:
				int Hour,Minute,Sencond;
		public:
				void SetTime(int h,int m,int s);//给出函数原型
				void ShowTime();//给出函数原型
};
void Clock::SetTime(int h,int m,int s){
					Hour=h;Minute=m;Second=s;
}
void Clock::ShowTime(){
					cout<<"Current Time";
					cout<<Hour<<":"<<Minute<<":"<<Second<<endl;
}

类的使用

定义对象的方式:类名 对象名

Clock aclock;

访问类成员的方法

  • 通过对象来访问成员
    对象名.公有成员函数名(实参列表)
    对象名.公有数据成员
  • 通过对象指针来访问成员
    对象的指针->公有成员函数名(实参列表)
    对象的指针->公有数据成员
void main()
{
	Clock clock_1,clock_2;
	clock_1.SetTime(9,5,25);
	clock_2.SetTime(15,16,45);
	clock_1.ShowTime();
	clock_2.ShowTime();
}//这里类似struct成员的访问

C++中与类相关引用

对象指针

Clock clock,*p;
p=&clock;
p->SetTime(9,5,25); //clock.SetTime(9,5,25);
p->ShowTime();		//clock.ShowTime();	

通过指针访问类中的公共成员

this指针

  • C++为每个非静态成员函数提供一个this指针
  • this指针是一个隐含指针,它指向正在被成员函数操作的那个对象

对象引用

对象引用就是对某类对象定义一个引用,其实质是通过将被引用对象的地址赋给引用对象,使二者指向同一内存空间,这样引用对象就成为了被引用对象的“别名”。
对象引用的定义方法与基本数据类型引用的定义类似。

定义:类名 &对象引用名=被引用对象
使用:对象引用名.数据成员名
或:对象引用名.成员函数名(参数表)

例:

Clcok clock_1(8,20,20);
Clock &clock_2=clock_1;//定义了&clock_1的对象引用&clock_2
clock_2.ShowTime();//通过对象引用使用对象的成员
clock_2和clock_1使用同一个内存空间,clock_2也称为引用对象

总结:定义和使用类类型的过程

  • 抽象:对事物进行抽象
  • 声明类:根据抽象的结果定义类的特性
  • 实现类:实现类中成员函数的逻辑
  • 使用类:在程序中定义类的实例,使用类的公有成员
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值