java赋值运算符题目_P25、面试题1:赋值运算符函数

//AssignmentOperator.cpp : Defines the entry point for the console application.//

//《剑指Offer——名企面试官精讲典型编程题》代码//著作权所有者:何海涛

#include"stdafx.h"#include

classCMyString

{public:

CMyString(char* pData =NULL);

CMyString(const CMyString&str);~CMyString(void);

CMyString& operator = (const CMyString&str);voidPrint();private:char*m_pData;

};

CMyString::CMyString(char *pData)

{if(pData ==NULL)

{

m_pData= new char[1];

m_pData[0] = '\0';

}else{int length =strlen(pData);

m_pData= new char[length + 1];

strcpy(m_pData, pData);

}

}

CMyString::CMyString(const CMyString &str)

{int length =strlen(str.m_pData);

m_pData= new char[length + 1];

strcpy(m_pData, str.m_pData);

}

CMyString::~CMyString()

{delete[] m_pData;

}

CMyString& CMyString::operator = (const CMyString&str)

{if(this == &str)return *this;delete[]m_pData;

m_pData=NULL;

m_pData= new char[strlen(str.m_pData) + 1];

strcpy(m_pData, str.m_pData);return *this;

}//====================测试代码====================

voidCMyString::Print()

{

printf("%s", m_pData);

}voidTest1()

{

printf("Test1 begins:\n");char* text = "Hello world";

CMyString str1(text);

CMyString str2;

str2=str1;

printf("The expected result is: %s.\n", text);

printf("The actual result is:");

str2.Print();

printf(".\n");

}//赋值给自己

voidTest2()

{

printf("Test2 begins:\n");char* text = "Hello world";

CMyString str1(text);

str1=str1;

printf("The expected result is: %s.\n", text);

printf("The actual result is:");

str1.Print();

printf(".\n");

}//连续赋值

voidTest3()

{

printf("Test3 begins:\n");char* text = "Hello world";

CMyString str1(text);

CMyString str2, str3;

str3= str2 =str1;

printf("The expected result is: %s.\n", text);

printf("The actual result is:");

str2.Print();

printf(".\n");

printf("The expected result is: %s.\n", text);

printf("The actual result is:");

str3.Print();

printf(".\n");

}int _tmain(int argc, _TCHAR*argv[])

{

Test1();

Test2();

Test3();return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个用于获取美国国家海洋和大气管理局(NOAA)全球预报系统(GFS)0.25度格网数据的链接。其中,{}需要填入日期和时间。例如,如果要获取2022年9月1日0时的数据,链接应该是:https://nomads.ncep.noaa.gov/dods/gfs_0p25/gfs20220901/gfs_0p25_00z。 ### 回答2: "https://nomads.ncep.noaa.gov/dods/gfs_0p25/gfs{}/gfs_0p25_{}z" 是一个网址,通过这个网址可以获取NCEP(美国国家环境预报中心)提供的全球预报系统(GFS)的数据。在这个网址中,{}是一个占位符,用来代表一些参数。 在网址中的第一个{}表示日期,用于指定所需的预报日期。例如,如果将{}替换为20220102,那么就可以获取到2022年1月2日的预报数据。 在网址中的第二个{}表示时间,用于指定所需的预报时间。例如,如果将{}替换为06,那么就可以获取到6时的预报数据。 通过使用这个网址,可以根据特定的日期和时间获取全球范围内的气象数据,包括温度、湿度、风速、降水量等等。这些数据对于气象预报、气候研究以及其他与天气相关的应用非常有用。 需要注意的是,网址中的数据可能需要一些数据处理的操作才能得到最终的结果。此外,根据预报模型的不同,数据的时间分辨率和空间分辨率也会有所不同。 ### 回答3: https://nomads.ncep.noaa.gov/dods/gfs_0p25/gfs{}/gfs_0p25_{}z是一个网址,指向美国国家海洋和大气管理局(NOAA)的全球预报系统(Global Forecast System)。它提供了一组关于全球气象数据的链接,这些数据是由NOAA的气象模型生成的。 这个网址中的{}是通配符,可以用不同的参数替换。第一个{}表示时间戳,可以是从000到384小时中的任何一个,代表预报的时间范围。第二个{}表示模型的起始时间,可以是00、06、12或18,代表在这个时刻生成的预报。 通过更改这些参数,我们可以获取不同时间范围内的气象数据,例如当天或未来几天的天气预报。这些数据包括温度、湿度、风速、降水量等等。这些数据在无人机、船只、飞机、农业和气象预测等领域具有广泛的应用。 NOAA的全球预报系统使用先进的气象模型和大型计算机集群来生成这些数据,以提供准确的全球气象预报。这些预报数据对于航海、风能发电、气象灾害预警、作物种植等活动具有重要意义。 通过访问https://nomads.ncep.noaa.gov/dods/gfs_0p25/gfs{}/gfs_0p25_{}z,我们可以获取最新的全球气象数据,并根据预报时间和模型起始时间进行订制。这个网址提供了重要的资源,方便我们获取全球气象数据,并做出相应的应对措施。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值