C++实验--- 模板是个好东西

模板是个好东西

Description
定义Point类:

有两个int类型的数据成员,表示其横纵坐标。

无参构造函数,初始化两个坐标为0。

带参构造函数。

重载其输出运算符<<,用于输出一个点的横坐标和纵坐标,中间用一个空格隔开。

定义一个类模板Data:

只有一个数据成员data,data的类型是由类型参数指定的。

定义该类模板的构造函数。

定义void show()方法,用于显示data的值。

Input
输入有5行。

第1行是一个不含空白符的字符串。

第2~4行分别是一个整数,其中第2、3行是点的坐标值。

最后一行是一个字符。
Output
见样例。
Sample Input

test
1
2
3
c

Sample Output

c
3
test
1 2

code:

#include<iostream>

using namespace std; 
class Point{
    
    
	int x;
	int y;
public:
	Point(){
    
    
		x=0;
		y=0;
	}
	
	Point(int xx,int yy){
    
    
		x=xx;
		y=yy;
	}
	
	friend ostream& operator <<(ostream &os,const Point &P){
    
    
		os<<P.x<<' '<<P.y;
	}
};

template<class T>
class Data{
    
    
	T data;
public:
	Data(T t){
    
    
		data=t;
	}
	
	void show(){
    
    
		cout<<data<<endl;
	}
};


int main()
{
    
    
    string n;
    int x, y, d;
    char c;
    cin>>n;
    cin>>x>>y>>d;
    cin>>c;
    Point p(x, y);
    Data<char> aChar(c);
    Data<int> anInt(d);
    Data<Point> aPoint(p);
    Data<string> aString(n);
    aChar.show();
    anInt.show();
    aString.show();
    aPoint.show();
    return 0;
}

猜你喜欢

转载自blog.csdn.net/timelessx_x/article/details/115095628
今日推荐