c++对象模拟游戏数据

C中的结构体存在缺点:1.main函数中的任意赋值语句都可以访问结构体中的成员,但在现实生活中并不是什么数据都可以被随意访问的,因此C语言中的结构体的数据是不安全的;2.结构体中的数据和对该数据的操作是分离的,并不是一个被封装起来的整体,因此使程序难以重用,影响了软件生产效率;于是C++中引入了类的概念。

  C++中类的一般格式为:

class Kid

{

  private:

    int age;    //私有成员

    char *name;

    char *sex;

  public:      //公有成员

    void setKid(int age,char *name,char *sex);

    void showKid();

};

C++中规定如果没有对类的成员加私有private,保护protected,或公有public,则默认为私有的。而对于C++的结构体来说,成员可以是私有的,保护的或公有的,但默认为公有的;还有要注意的是不能在类的声明中给数据成员赋值,比如:

class Kid

{

  private :

    int age=10;

    char *name="rookie_j";

    char *sex="男";

};

  一般情况下,一个类的数据成员应该声明为私有的,成员函数声明为共有的。这样,内部的数据隐藏在类中,在类的外部无法访问直接访问,使数据得到有效的保护。而公有的成员函数就成为一种与类外部沟通的接口。

利用C++对象模拟游戏商城的数据(代码如下):

#include <iostream>

using namespace std;
int i,j;

class ltem{
	public:
		int wpjg;
		char sfgm[20];
	private:
};

class list{
	public:
		void abc(ltem a);
		void abc1(ltem a);
		void abc2(ltem a);
		void abc3(ltem a);
		char a1[20];
	private:
};

void list::abc(ltem a){
	a.wpjg=2000;
	sprintf(a.sfgm,"是否购买:\n1.是  2.否\n");
	cout<<a.wpjg<<"\n"<<endl;
	cout<<a.sfgm<<"\n"<<endl;
	scanf("%d",&i);
	if(i==1){
		cout<<"购买成功\n"<<endl;
	}
	else{
		cout<<"欢迎下次再来\n"<<endl;
	}
}
void list::abc1(ltem a){
	a.wpjg=12888;
	sprintf(a.sfgm,"是否购买:\n1.是  2.否\n");
	cout<<a.wpjg<<"\n"<<endl;
	cout<<a.sfgm<<"\n"<<endl;
	scanf("%d",&i);
	if(i==1){
		cout<<"购买成功\n"<<endl;
	}
	else{
		cout<<"欢迎下次再来\n"<<endl;
	}
}
void list::abc2(ltem a){
	a.wpjg=12888;
	sprintf(a.sfgm,"是否购买:\n1.是  2.否\n");
	cout<<a.wpjg<<"\n"<<endl;
	cout<<a.sfgm<<"\n"<<endl;
	scanf("%d",&i);
	if(i==1){
		cout<<"购买成功\n"<<endl;
	}
	else{
		cout<<"欢迎下次再来\n"<<endl;
	}
}
void main(){
	list n1,n2,n3,n4,n5,n6,n7,n8,n9;
	ltem i1,i2,i3,i4,i5,i6,i7,i8,i9;
	sprintf(n1.a1,"1.求婚戒指\n");
	sprintf(n2.a1,"2.凌霜锦袍\n");
	sprintf(n3.a1,"3.傲雪锦衣\n");
cout<<n1.a1<<"\n"<<endl;

	cout<<n2.a1<<"\n"<<endl;
	cout<<n3.a1<<"\n"<<endl;
	printf("输入你想要购买的编号");
	scanf("%d",&j);
	switch(j){
		case 1:
			n1.abc(i1);
			break;
		case 2:
			n2.abc1(i2);
			break;
		case 3:
			n3.abc2(i3);
			break;
		default:
			printf("输入有误");
			break;
	}
	system("pause");
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值