C++类的使用:私有成员的赋值以及类与类之间的赋值(待补充)

关于类的定义回头补充,现在先直接上代码**

#include<iostream>
#include<string>
#include<stdio.h>
#include<math.h>
#include<Windows.h>
//#include<algorithm>
#include<algorithm>
#include<cstdlib>
using namespace std;
#pragma warning(disable:4996)//禁用_s报错


class cy
{
	//以下为私有成员
	int a;
	double b;
	char c;
	string d;
public:
	//以下为公有成员
	cy()//默认构造函数,给私有成员赋值
	{
		a = 1; b = 2.2; c = 'A'; d = "abc";
	}	
	//无实参访问私有成员变量
	int zx()	 { return a; }
	double fdx() { return b; }
	char zfx()	 { return c; }
	string zfcx(){ return d; }

	//在类外定义,因不需要返回值,故函数类型为void(空)
	void zx(int q);
	void fdx(double w);
	void zfx(char e);
	void zfcx(string r);
	//  若在需要在类中定义,代码为void zx(int q){a = q;}
	//但是一般不这做,类中代码太长了,可以在类的外面定义后将函数块折叠,更加美观!
};

//利用类里的成员函数给私有成员变量赋值

void cy::zx(int q)//格式为函数类型(如void)+空格+类名+::(二元作用域解析运算符)+函数名字+(变量类型名 形参变量)
{
	a = q;
}
void cy::fdx(double w)
{
	b = w;
}
void cy::zfx(char e)
{
	c = e;
}
void cy::zfcx(string r)
{
	d = r;
}

int main()
{
	int q;
	double w;
	char e;
	string r;
	cin >> q >> w >> e >> r;
	cy s1, s2;//定义名为s1和s2的类
	cout << s1.zx() << "		" << s1.fdx() << "		" << s1.zfx() << "		" << s1.zfcx() << endl;
	//输出类s1中的私有成员变量的值,因为无参数,故调用cy类中的函数,返回私有函数的值
	s2.zx(q); s2.fdx(w); s2.zfx(e); s2.zfcx(r);
	//调用类s2中的函数给私有成员赋值。
	cout << s2.zx() << "		" << s2.fdx() << "		" << s2.zfx() << "		" << s2.zfcx() << endl;
	//给类s2的私有成员赋值后,调用cy类中的函数,返回私有函数的值;
	s1 = s2;//将类s2中所有的成员变量赋值给类s1
	cout<< s1.zx() << "		" << s1.fdx() << "		" << s1.zfx() << "		" << s1.zfcx() << endl;
	//给类s1的私有成员赋值后,调用cy类中的函数,返回私有函数的值;
}

此时输入 :

10 22 A ABC

输出:

1       2.2             A               abc
10      22              A               ABC
10      22              A               ABC
  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值