C++上机作业4.0

本文介绍了C++中三种对象传递方式——值传递、指针传递和引用传递,并通过示例代码展示了它们的区别。同时,详细讲解了静态成员的概念,包括静态数据成员和静态函数成员,强调其在所有对象间共享的特性,并给出一个静态数据成员的使用实例。
摘要由CSDN通过智能技术生成

1.通过本次上机作业和老师课堂上所讲的内容,了解三种不同的对象传递方式,掌握静态成员的概念和使用。

上课所学:由关键字static 修饰说明的成员,称为静态成员(static class member)。静态成员为所有对象共享,只有一份存于公用内存中。静态成员包括静态数据成员和静态函数成员。

2.这次上机实验相对较为轻松,写代码时遇到的警告数量相对之前上机较少,可能是对上机操作的更加熟练和对课件知识更加熟悉。

1.
#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) //对象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;
    sqr_it(obj);
    cout << "调用函数sqr_it后,实参对象obj的数据成员i的值为:";
    cout << obj.get_i() << endl;
    return 0;
}
*/
//第二种
/*
void sqr_it(Tr* ob)//对象指针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;
    sqr_it(&obj);
    cout << "调用函数sqr_it后,实参对象obj的数据成员i的值为:";
    cout << obj.get_i() << endl;
    return 0;
}
*/
//第三种
/*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;
}
*/

2.#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;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值