栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

济南大学自动化学院C++第四次作业

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

济南大学自动化学院C++第四次作业

#include 
using namespace std;
class tr
{
public:
	tr(int n)
	{
		i = n;
	}
	void set_i(int n)
	{
		i = n;
	}
	int get_i()
	{
		return i;
	}
private:
	int i;
};
void sqr_it(tr ob)
{
	ob.set_i(ob.get_i() * ob.get_i());
	cout << "在函数sqr_it内,形参对象ob的数据成员i的值为:" << ob.get_i();
	cout << endl;
}
int main()
{
	tr obj(10);
	cout << "调用函数sqr_it前,实参对象obj的数据成员i的值为:";
	cout << obj.get_i() << endl;
	sqr_it(obj);
	cout << "调用函数sqr_it后,实参对象obj的数据成员i的值为:";
	cout << obj.get_i() << endl;
	return 0;
}

 

#include 
using namespace std;
class ctest
{
	static int count;
public:
	ctest()
	{
		++count; cout << "对象数量=" << count << 'n';
	}
};
int ctest::count = 0;
int main(void)
{
	ctest a[3];
	return 0;
}

 

 

#include
using namespace std;
class student
{
	static float m_classmoney;
public:
	void initstudent(char nametemp[])
	{
		for (int count = 0; count < 10; count++)
		{
			name[count] = nametemp[count];
		}
	}
	void expendmoney(float moneytemp)
	{
		money = moneytemp;
		m_classmoney -= money;
	}
	void showmoney()
	{
		cout << "班费还剩余:" << m_classmoney << endl;
	}
private:
	char name[10];
	float money;
};
float student::m_classmoney = 1000;
void main()
{
	char one[10] = { 'A' };
	char two[10] = { 'B' };
	char three[10] = { 'C' };
	student A;
	student B;
	student C;
	A.initstudent(one);
	A.expendmoney(50);
	A.showmoney();
	B.initstudent(two);
	B.expendmoney(98.5);
	B.showmoney();
	C.initstudent(three);
	C.expendmoney(500.53);
	C.showmoney();
}

总结
(1)静态数据成员的初始化与普通数据成员不同。静态数据成员初始化应在类外单独进行,而且应定义对象之前进行。一般在主函数main之前,类声明之后的特殊地带为它提供定义和初始化。初始化格式如下:
数据类型 类名::静态数据成员=初始值
int Ctest::count = 0
这时在数据成员的前面不要加static

(2)静态数据成员属于类的对象的集合,而不像普通函数那样属于某一对象,因此可以使用"::"访问静态的数据成员。

(3)静态数据成员与静态变量一样,是在编译时创建并初始化。它在该类的任何对象被建立之前就存在。因此,共有的数据成员可以在对象被定义之前被访问。对象建立后,共有的静态数据成员也可以被对象进行访问。

(4)使用对象作为函数参数,形参和实参是不同的对象,它们所占地址空间不同,因此,形参
的改变,并不影响实参的值。
(5)使用对象指针作为函数参数中,所谓"传址调用",就是在函数调用时使实参对象和形参对象
的地址传递给函数,形参和实参都指向同一个地址值,此时在函数中对形参对象的修改将影
响调用该函数的实参对象本身。
(6)使用对象引用作为函数的参数,所谓"对象引用",就是对实参对象换了个别名,实际上它们
仍是同一个对象,所以,所谓的形参(别名对象)值的的改变,直接就是实参对象值的改变。
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/617870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号