C++中数据的封装性学习笔记

Java与C++数据封装性对比分析
本文探讨了Java和C++在数据封装方面的差异,通过实例展示了封装的实现方式及各自的特点。

Java中知道对数据的封装,比如一个方法来封装一个小功能,并且给指定的权限让其他的类或者方法调用,看了C++发现也有数据封装性,看看Java和C++数据封装性是否有区别。

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;

struct Student
	{
		private: 
			int names,ages;
		public:
			void setNameandAge(int name,int age)
			{
				names=name;
				ages=age;
			} 
			
			void display()
			{
				cout <<"成员数据的封装"<<"name"<<names<<"age:::"<<ages<<endl; 
			}	
	}; 
	
int main(int argc, char** argv)
 {
 	Student stu;
 	stu.setNameandAge(34,66);
	stu.display();
//	cout <<stu.age<<endl;
	return 0;
}

以上是小例子对结构块封装了,结构块的names和age是私有的所以其他函数是不能调用的,我在main方法中调用是就会编译错误错误信息为:[Error] 'struct Student' has no member named 'age'意思是Student结构块中没有names和ages的成员,说明达到了我们的封装性。不过在调试中发现了一个和Java不同的地方看,Java中静态的方法直接可以用类名调用的但是在结构块中公用的成员数据可以直接调用或者赋值,但是不能用结构名称直接调用结构块中的公共的函数,不知道为什么以后弄明白了再来记录下来,还有在测试小例子是可以把main函数中的注释部分打开测试下看看能否调用结构的私有成员数据...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值