赞
踩
在刚开始学习c++的时候刷了很多基础题,这些基础题比较适合初学C++的码友,所以在学完就立即进行了整理,一是为了让初学C++的码友有所参考,二也是为了复习一下所学过知识。
但因为当时在整理时,时间有点紧促,可能会出现一些小错误,于是利用五一假期对之前的文章进行检查,修改了一些小错误,可能有些错误我还没有发现,欢迎码友们对其指正。
以下六道题用到类与对象中的封装,友元函数等基础知识,适合初学类与对象这部分的码友进行练习。
定义一个Point类,数据成员包括私有数据成员为double类型的点坐标x,y;成员函数包括构造函数Point(用于实现对数据成员x,y的初始化),成员函数Display(用于输出点坐标x、y,输出格式为点坐标用逗号分隔并半角圆括号括起来)。
//main函数如下(不得修改main函数):
int main()
{
double x,y;
cin>>x>>y;
Point p1(x,y);
p1.Display();
return 0;
}
Sample Input
12.5 22.7
Sample Output
(12.5,22.7)
#include<iostream> using namespace std; class Point { public: Point(double x, double y); void Display(); private: double m_x; double m_y; }; Point::Point(double x, double y) { m_x = x; m_y = y; } void Point::Display() { cout << "(" << m_x << "," << m_y << ")" << endl; } int main() { double x, y; cin >> x >> y; Point p1(x, y); p1.Display(); return 0; }
定义一个Point类,数据成员包括私有数据成员为double类型的点坐标x,y;成员函数包括构造函数Point(用于实现对数据成员x,y的初始化)、成员函数Set(用于改变数据成员x、y的值)、成员函数Display(用于输出点坐标x、y,输出格式为点坐标用逗号分隔并半角圆括号括起来)。
//main函数如下(不得修改main函数):
int main()
{
double x1,y1,x2,y2;
cin>>x1>>y1;
cin>>x2>>y2;
Point p1(x1,y1);
p1.Display();
p1.Set(x2,y2);
p1.Display();
return 0;
}
Sample Input
10 25.5 5.5 20
Sample Output
(10,25.5)
(5.5,20)
#include<iostream> using namespace std; class Point { public: Point(double x, double y); void Set(double x, double y); void Display(); private: double m_x; double m_y; }; Point::Point(double x, double y) { m_x = x; m_y = y; } void Point::Set(double x, double y) { m_x = x; m_y = y; } void Point::Display() { cout << "(" << m_x << "," << m_y << ")" << endl; } int main() { double x1, y1, x2, y2; cin >> x1 >> y1; cin >> x2 >> y2; Point p1(x1, y1); p1.Display(); p1.Set(x2, y2); p1.Display(); return 0; }
定义一个Point类,数据成员包括私有数据成员为double类型的点坐标x,y;成员函数包括构造函数Point(用于实现对数据成员x,y的初始化)、成员函数Set(用于改变数据成员x、y的值)、成员函数LeftMove(点坐标向左移动detax)、成员函数上移UpMove(点坐标上移detay)、成员函数Display(用于输出点坐标x、y,输出格式为点坐标用逗号分隔并半角圆括号括起来)。
//main函数如下(不得修改main函数): int main() { double x1,y1,x2,y2,dx,dy; cin>>x1>>y1; cin>>dx; cin>>dy; cin>>x2>>y2; Point p1; p1.Display(); p1.Set(x1,y1); p1.Display(); p1.LeftMove(dx); p1.Display(); p1.UpMove(dy); p1.Display(); Point p2(x2,y2); p2.Display(); return 0; }
Sample Input
10 25.5 5 10 5.5 20
Sample Output
(0,0)
(10,25.5)
(5,25.5)
(5,35.5)
(5.5,20)
#include<iostream> using namespace std; class Point { public: Point(double x=0, double y=0); void Set(double x, double y); void LeftMove(double dx); void UpMove(double dy); void Display(); private: double m_x; double m_y; }; Point::Point(double x, double y) { m_x = x; m_y = y; } void Point::Set(double x, double y) { m_x = x; m_y = y; } void Point::LeftMove(double dx) { m_x = m_x - dx; } void Point::UpMove(double dy) { m_y = m_y + dy; } void Point::Display() { cout << "(" << m_x << "," << m_y << ")" << endl; } int main() { double x1, y1, x2, y2, dx, dy; cin >> x1 >> y1; cin >> dx; cin >> dy; cin >> x2 >> y2; Point p1; p1.Display(); p1.Set(x1, y1); p1.Display(); p1.LeftMove(dx); p1.Display(); p1.UpMove(dy); p1.Display(); Point p2(x2, y2); p2.Display(); return 0; }
定义一个点类Point,数据成员为平面点坐标x,y,成员函数有:构造函数,函数display显示点信息,函数GetX,GetY分别获取私有成员x,y的值。编写一个普通函数,计算两点间距离,函数原型double Distance(Point &p1,Point &p2)。主函数中输入两个点信息,定义两个类对象,利用display显示各自的点信息,再利用Distance计算两点距离。
Sample Input
0 0 10 20
Sample Output
Point(0,0)
Point(10,20)
Distance:22.3607
#include<iostream> #include<cmath> using namespace std; class Point { public: Point(int x, int y); void Display(); int GetX(); int GetY(); private: int m_x; int m_y; }; Point::Point(int x, int y) { m_x = x; m_y = y; } void Point::Display() { cout << "Point " << "(" << m_x << "," << m_y << ")" << endl; } int Point::GetX() { return m_x; } int Point::GetY() { return m_y; } double Display(Point& p1, Point& p2) { double dx; double dy; dx = (p1.GetX() - p2.GetX()) * (p1.GetX() - p2.GetX()); dy = (p1.GetY() - p2.GetY()) * (p1.GetY() - p2.GetY()); return sqrt(dx + dy); } int main() { int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2; Point p1(x1, y1); p1.Display(); Point p2(x2, y2); p2.Display(); cout << "Distance:" << Display(p1, p2) << endl; return 0; }
定义一个点类Point,数据成员为平面点坐标x,y,成员函数有:构造函数,函数display显示点信息,成员函数Distance实现计算两个点间距离。函数原型double Distance(const Point &p)。主函数中输入两个点信息,定义两个类对象,利用display显示各自的点信息,再利用Distance计算两点距离。
Sample Input
0 0 10 20
Sample Output
Point(0,0)
Point(10,20)
Distance:22.3607
#include<iostream> #include<cmath> using namespace std; class Point { public: Point(int x, int y); void Display(); double Distance(const Point& p); private: int m_x; int m_y; }; Point::Point(int x, int y) { m_x = x; m_y = y; } void Point::Display() { cout << "Point " << "(" << m_x << "," << m_y << ")" << endl; } double Point::Distance(const Point& p) { return sqrt((p.m_x - m_x) * (p.m_x - m_x) + (p.m_y - m_y) * (p.m_y - m_y)); } int main() { int x1, y1, x2, y2; cin >> x1 >> y1 >> x2 >> y2; Point p1(x1, y1); p1.Display(); Point p2(x2,y2); p2.Display(); cout << "Distance:" << p1.Distance(p2) << endl; return 0; }
定义一个点类Point,数据成员为平面点坐标x,y,成员函数有:构造函数,函数display显示点信息,利用友元函数Distance实现计算两个点间距离。函数原型double Distance(const Point &p1,const Point &p2)。主函数中输入两个点信息,定义两个类对象,利用display显示各自的点信息,再利用Distance计算两点距离。
Sample Input
0 0 10 20
Sample Output
Point(0,0)
Point(10,20)
Distance:22.3607
#include<iostream> #include<cmath> using namespace std; class Point { public: Point(double x, double y); void Display(); friend double Distance(const Point& p1, const Point& p2); private: double m_x; double m_y; }; Point::Point(double x, double y) { m_x = x; m_y = y; } void Point::Display() { cout << "Point(" << m_x << "," << m_y << ")" << endl; } double Distance(const Point& p1, const Point& p2) { double dx, dy; dx = (p1.m_x - p2.m_x) * (p1.m_x - p2.m_x); dy = (p1.m_y - p2.m_y) * (p1.m_y - p2.m_y); return sqrt(dx + dy); } int main() { double x1, y1, x2, y2; cin >> x1 >>y1 >> x2 >> y2; Point p1(x1, y1); p1.Display(); Point p2(x2, y2); p2.Display(); cout << "Distance:" << Distance(p1, p2) << endl; return 0; }
大家好,我是Lucky_追梦仔。一个正在学习编程的小白,希望我的博文,可以帮助到您学习,或者解决您遇到的问题。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。