【c++】黑马·5 模板

/*作者:jennie
* 开始时间:
* 结束时间:
* 课程名:黑马c++
* 知识单元:168 02 模板-函数模板基本语法
* 属性:例题
* 具体题目要求:
*交换模板
*/
#include<iostream>
using namespace std;
template<typename T>
void Swap(T& a, T& b) {
	T temp = a;
	a = b;
	b = temp;
}
int main() {
	int a = 1, b = 2;
	swap(a, b);
	cout << a << b;
	double c = 1.1, d = 1.2;
	swap<double>(c, d);
	cout << c << d;
	return 0;
}
/*作者:jennie
* 开始时间:2022年03月26日 17:02:01 星期六 
* 结束时间:2022年03月26日 17:12:21 星期六 
* 课程名:黑马c++
* 知识单元:187 21 STL初识-vector存放自定义数据类型
* 属性:例题
* 具体题目要求:
*push_back 存地址 迭代器vector<Person> ::iterator
*/
#include<iostream>
#include<vector>
using namespace std;
class Person {
public:
	Person(string name, int age)
		:m_Name(name), m_Age(age){};

	string getName() {
		return m_Name;
	}

	int getAge() {
		return m_Age;
	}

private:
	string m_Name;
	int m_Age;
};

void test() {
	vector<Person> v;
	
	Person p1("aaa", 18);
	Person p2("bbb", 17);
	Person p3("ccc", 21);
	Person p4("ddd", 19);

	v.push_back(p1);
	v.push_back(p2);
	v.push_back(p3);
	v.push_back(p4);

	for (vector<Person>::iterator i = v.begin(); i !=v.end(); i++)
	{
		cout << "1 名:" << (*i).getName() << "  岁:" << (*i).getAge() << endl;
	}
}

void test2() {
	vector<Person*> v;

	Person p1("aaa", 18);
	Person p2("bbb", 17);
	Person p3("ccc", 21);
	Person p4("ddd", 19);

	v.push_back(&p1);
	v.push_back(&p2);
	v.push_back(&p3);
	v.push_back(&p4);

	for (vector<Person*>::iterator i = v.begin(); i != v.end(); i++)
	{
		cout << "2 名:" << (*i)->getName() << "  岁:" << (*i)->getAge() << endl;
	}
}

int main() {
	test2();
	return 0;
}
/*作者:jennie
* 开始时间:2022年03月26日 17:13:06 星期六 
* 结束时间:2022年03月26日 17:20:13 星期六 (7)
* 课程名:黑马c++
* 知识单元:188 22 STL初识-容器嵌套容器
* 属性:
* 具体题目要求:
*
*/
#include<iostream>
#include<vector>
using namespace std;

void test() {
	vector<vector<int>> v;

	vector<int> v1;
	vector<int> v2;
	vector<int> v3;
	vector<int> v4;

	for (int i = 0; i < 4; i++)
	{
		v1.push_back(i+1);
		v2.push_back(i+2);
		v3.push_back(i+3);
		v4.push_back(i+4);
	}

	v.push_back(v1);
	v.push_back(v2);
	v.push_back(v3);
	v.push_back(v4);

	for (vector<vector<int>>::iterator i = v.begin(); i != v.end(); i++)
	{
		for (vector<int>::iterator vi = (*i).begin(); vi!=(*i).end(); vi++)
		{
			cout << (*vi) << " ";
		}
		cout << endl;
	}
}

int main() {
	test();
	return 0;
}
/*作者:jennie
* 开始时间:2022年03月26日 17:22:40 星期六 
* 结束时间:2022年03月26日 19:08:19 星期六 
* 课程名:黑马c++
* 知识单元:189 23 string容器-构造函数
* 属性:
* 具体题目要求:
*空 char*  string    n char
*/
#include<iostream>
using namespace std;

int main() {
	string s1;
	cout << s1 << endl;

	const char* str = "hello";
	string s2(str);
	cout << s2 << endl;

	string s = "12345", s3(s);
	cout << s3 << endl;

	string s4(6,'0');
	cout << s4 << endl;

	string s5, s6, s7, s8;
	s5.assign("hello world");
	s6.assign("hello world",5);
	s7.assign(s3);
	s8.assign(5,'0');
	cout << s5 << endl;
	cout << s6 << endl;
	cout << s7 << endl;
	cout << s8 << endl;

	s6 += " world";
	cout << s6<<endl;
	s6 += s8;
	cout << s6 << endl;

	s6.append(" love ");
	cout << s6 << endl;
	s6.append(s5,6,5);
	cout << s6 << endl;
	s6.append("12345", 3);
	cout << s6 << endl;


	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_51695846/article/details/125364458
今日推荐