实验一:
#include <iostream> #include <string> #include <vector> int main() { using namespace std; string s1; string s2{ "c plus plus" }; string s3{ s2 }; string s4 = s2; s1 = "oop"; vector<string> v1; v1.push_back(s1); v1.push_back(s2 + "1"); v1.push_back(s3 + "2"); v1.push_back(s4 + "3"); cout << "output1: " << endl; for (auto item : v1) cout << item << endl; cout << "ouput2: "; for (auto p = v1.begin(); p != v1.end(); ++p) cout << *p << endl; cout << "output3: " << endl; for (auto i = 0; i < v1.size(); ++i) cout << v1[i] << endl; vector<string> v2{ v1.rbegin(), v1.rend() }; cout << "v2: " << endl; for (auto item : v2) cout << item << endl; }
#include <iostream> #include <string> #include <vector> #include <cmath> #include <cstdlib> #include <time.h> template<typename T> void output(const T& obj) { for (auto item : obj) std::cout << item << " "; std::cout << std::endl; } int main() { using namespace std; vector<int> v1{ 1, 9, 8, 4 }; v1.insert(v1.begin(), 2022); v1.insert(v1.end(), 2023); cout << "v1: "; output(v1); v1.pop_back(); v1.erase(v1.begin()); cout << "v1: "; output(v1); vector<string> v2{ "1984","《动物农场》","《美丽新世界》" }; cout << "v2: "; output(v2); }
#include <iostream> using std::cout; using std::endl; class Point { public: Point(int x0 = 0, int y0 = 0); Point(const Point& p); ~Point() = default; int get_x() const { return x; } int get_y() const { return y; } void show() const; private: int x, y; }; Point::Point(int x0, int y0) : x{ x0 }, y{ y0 } { cout << "constructor called." << endl; } Point::Point(const Point& p) : x{ p.x }, y{ p.y } { cout << "copy constructor called." << endl; }
#include <iostream> #include <iomanip> using std::cout; using std::endl; class Clock { public: Clock(int h = 0, int m = 0, int s = 0); Clock(const Clock& t); ~Clock() = default; void set_time(int h, int m = 0, int s = 0); void show_time() const; private: int hour, minute, second; }; Clock::Clock(int h, int m, int s) : hour{ h }, minute{ m }, second{ s } { cout << "constructor called" << endl; } Clock::Clock(const Clock& t) : hour{ t.hour }, minute{ t.minute }, second{ t.second } { cout << "copy constructor called" << endl; } void Clock::set_time(int h, int m, int s) { hour = h; minute = m; second = s; } void Clock::show_time() const { using std::setw; using std::setfill; cout << setfill('0') << setw(2) << hour << ":" << setw(2) << minute << ":" << setw(2) << second << endl; } Clock reset() { return Clock(0, 0, 0); } int main() { Clock c1(12, 0, 5); c1.show_time(); c1 = reset(); c1.show_time(); Clock c2(c1); c2.set_time(6); c2.show_time(); }
#include <iostream> class x { public: x(); ~x(); x(int m); x(const x& obj); x(x&& obj)noexcept; void show() const; private: int data; }; x::x() :data{ 42 } { std::cout << "default constructor called.\n"; } x::~x() { std::cout << "destructor called.\n"; } x::x(int m) :data{ m } { std::cout << "constructor called.\n"; } x::x(const x& obj) : data{ obj.data } { std::cout << "copy constructor called.\n"; } x::x(x&& obj)noexcept :data{ obj.data } { std::cout << "move constructor called.\n"; } void x::show() const { std::cout << data << std::endl; } int main() { x x1; x1.show(); x x2{ 2049 }; x2.show(); x x3{ x1 }; x3.show(); x x4{ std::move(x2) }; x4.show(); }
#include <iostream> #include <iomanip> class Rectangle { public: Rectangle(double length = 2.0, double wideth = 1.0); Rectangle(const Rectangle & rect); ~Rectangle() = default; double len()const; double wide()const; double area()const; double circumference()const; void resize(auto t = 1); void resize(double l_t = 1.0, double w_t = 1.0); private: double l; double w; double times; double l_times; double w_times; }; Rectangle::Rectangle(double length, double wideth) :l{ length }, w{ wideth }{ } Rectangle::Rectangle(const Rectangle & rect) { l = rect.l; w = rect.w; } void Rectangle::resize(auto t) { times = t; l *= times; w *= times; } void Rectangle::resize(double l_t, double w_t) { l_times = l_t; w_times = w_t; l *= l_times; w *= w_times; } double Rectangle::len()const { return l; } double Rectangle::wide()const { return w; } double Rectangle::area()const { return l * w; } double Rectangle::circumference()const { return 2 * (l + w); } void output(const Rectangle & rect) { using namespace std; cout << "矩阵信息:\n"; cout << fixed << setprecision(2); cout << "长: " << rect.len() << endl << "宽: " << rect.wide() << endl << "面积: " << rect.area() << endl << "周长: " << rect.circumference() << endl; cout << endl; } int main() { Rectangle rect1; output(rect1); Rectangle rect2(10, 5); output(rect2); Rectangle rect3(rect1); rect3.resize(2); output(rect3); rect3.resize(5, 2); output(rect3); }
标签:const,int,double,v1,实验,include,Rectangle From: https://www.cnblogs.com/jat2003725w/p/16738845.html