第1关:类外定义存取函数
任务描述
本关仍然有一个 Int
类,该类包含一个 int
类型的成员。为其编写存取函数。注意,存取函数要在类外实现。
相关知识
类的定义中,既可以书写成员函数的声明,也可以书写成员函数的定义(即实现)。如果在类中定义成员函数,则该成员函数被视作 inline
。 inline
一般只用于较“短小的”函数:3 到 5 行,没有循环。 因此,某些成员函数必然要写在类的定义之外。 假设类名为 Int
,成员函数名为 getValue
,则在类外书写成员函数,函数头必须写为:
int Int::getValue()const{}
因为 Int::getValue
才是该成员函数的全名。
编程要求
根据提示,在右侧编辑器的Begin-End区域内补充代码。
测试说明
本关的项目将会包括3个文件,main.cpp、Int.h 和 Int.cpp。main.cpp 中包含主函数,是已经写好的;Int.h 中包含 Int
类的定义,包括成员函数的声明,也是写好的;Int.cpp 是空的,有待完成,需要填写的内容主要是 Int
类成员函数的实现,当然也要包括必要的头文件。
Int
类的定义如下文章来源:https://www.toymoban.com/news/detail-741929.html
/**
* 这是一个包装类(wrapper class),包装类在C++中有点小小的用处(基本上没用),在Java中的用处更大一些。
*/
#ifndef _INT_H_ //这是define guard
#define _INT_H_ //在C和C++中,头文件都应该有这玩意
class Int{
private://这是访问控制——私有的
int value; //这是数据成员,我们称Int是基本类型int的包装类,就是因为Int里面只有一个int类型的数据成员
public: //这是公有的
//以下是成员函数的声明
int getValue()const;
void setValue(int v);
};//记住这里有一个分号
#endif
main函数如下:
#include "Int.h"
#include <iostream>
using namespace std;
int main(){
int x;
cin>>x;
Int a;
a.setValue(x);
cout<<a.getValue()<<endl;
return 0;
}
/********* Begin ********/
#include "Int.h"
int Int::getValue()const{
return value;
}
void Int::setValue(int v){
value = v;
}
/******** End **********/
第2关:类外定义构造函数
任务描述
本关仍然有一个 Int
类,该类包含一个 int
类型的成员。为其编写构造函数和存取函数。注意,所有成员函数均要在类外实现。
相关知识
类的定义中,既可以书写成员函数的声明,也可以书写成员函数的定义(即实现)。如果在类中定义成员函数,则该成员函数被视作 inline
。 inline
一般只用于较“短小的”函数:3 到 5 行,没有循环。 因此,某些成员函数必然要写在类的定义之外。 假设类名为 Int
,则在类外书写构造函数,函数头必须写为:
Int::Int()...
因为 Int::Int
才是该构造函数的全名。
编程要求
根据提示,在右侧编辑器的Begin-End区域内补充代码。
测试说明
本关的项目将会包括3个文件,main.cpp、Int.h 和 Int.cpp。main.cpp 中包含主函数,是已经写好的;Int.h 中包含 Int
类的定义,包括成员函数的声明,也是写好的;Int.cpp 是空的,有待完成,需要填写的内容主要是 Int
类成员函数的实现,当然也要包括必要的头文件。
Int
类的定义如下
/**
* 这是一个包装类(wrapper class),包装类在C++中有点小小的用处(基本上没用),在Java中的用处更大一些。
*/
#ifndef _INT_H_ //这是define guard
#define _INT_H_ //在C和C++中,头文件都应该有这玩意
class Int{
private://这是访问控制——私有的
int value; //这是数据成员,我们称Int是基本类型int的包装类,就是因为Int里面只有一个int类型的数据成员
public: //这是公有的
//以下是构造函数的声明
Int();
Int(Int const&);
Int(int);
//以下是取函数的声明
int getValue()const;
};//记住这里有一个分号
#endif
main函数如下:文章来源地址https://www.toymoban.com/news/detail-741929.html
#include "Int.h"
#include <iostream>
using namespace std;
int main(){
int x;
cin >> x;
Int a;
Int b(x);
Int c(b);
cout<<a.getValue()<<" "<<b.getValue()<<" "<<c.getValue()<<endl;
return 0;
}
/********* Begin ********/
#include "Int.h"
Int::Int(){
value = 0;
}
Int::Int(Int const& a){
value = a.value;
}
Int::Int(int v){
value = v;
}
int Int::getValue()const{
return value;
}
/******** End **********/
到了这里,关于头歌Educoder实验:程序设计二(面向对象)_实训3_类外定义成员函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!