类与对象,对象传递,静态成员

Part A

# include<iostream>

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) l/对象ob作为函数sqr_it的形参

{ 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;

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;

}

Part B

#include<iostream>using namespace std;

class Ctest{

static int count;//私有成员

public:

Ctest() {

++count;cout<<"对象数量="<<count<<'\n';}

};

int Ctest::count=0; //A,对静态数据定义性说明

int main(void){

Ctest a[3];

return 0;

}

Part C

Project1.cpp

#include”TStudent.h”

using namespace std;

float TStudent::m_ClassMoney =1000

int main(){

TStudent a [3];

float money_s;

char nam [100I100];

for(int i=0;i<3;i++)

{

cout<<”请输入学生姓名”<<endl ;

a[i].InitStudent(nam[i]);

cout<<“请输入该学生消费的班费”<<endl;

cin>>money _ s;

a[i].ExpendMoney (money_s);

a[i]. ShowMoney ();

}

return 0;

H.h

#include<iostream>

Using namespace std;

Class TStudent

{ static float m_ClassMoney;

public:

void InitStudent(char name[])

{cin>>name;

};

void ExpendMoney(float money)

{ m_ClassMoney -=money;};

void Showmoney(){

cout<<”班费还剩余”<<m_ClassMoney;

};

private:

int i;

char studentname[100];

float money;

};

总结:静态成员在之前C中接触过,不同于C的一点是C++常将静态成员封装在某个类中。这样做的目的通常有两个:一是限制变量的作用范围,例如将某个变量放到类的私有部分声明,那么他只能由该类对象的函数成员总结访问,

二是将相关变量与相关操作放在一起,增强程序可读性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值