C++工作笔记-对容器模板的初步认识
生活随笔
收集整理的這篇文章主要介紹了
C++工作笔记-对容器模板的初步认识
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如下面的這套代碼:
MyClass.h
#pragma once#include <iostream> #include <vector> #include <string> using namespace std;template<typename T> class MyClass{ private:T x; public:MyClass(T a) :x(a){}T& getX(){return x;}friend ostream& operator << (ostream &os, MyClass myclass){//os << "(" << myclass.x << "," << myclass.y << ")";for (int i = 0; i < myclass.getX().size(); i++){os << myclass.x[i] << endl;}return os;} };main.cpp
#include "MyClass.h"void main(){vector<int> inVe;inVe.push_back(1);inVe.push_back(2);inVe.push_back(3);inVe.push_back(4);MyClass<vector<int>> myclassVc(inVe);cout << myclassVc;system("pause"); }這里,來看下局部變量的值:
發現還真了可以用。
這種模板操作感覺好奇怪啊!
也不知道這么寫好不好!
根據網上的代碼可以知道,一般寫容器模板應該這樣做:
MyClass.h
#pragma once#include <iostream> #include <vector> #include <string> using namespace std;template<typename T> class MyClass{ private:vector<T> x; public:MyClass(){}vector<T>& getX(){return x;}friend ostream& operator << (ostream &os, MyClass myclass){//os << "(" << myclass.x << "," << myclass.y << ")";for (int i = 0; i < myclass.getX().size(); i++){os << myclass.x[i] << endl;}return os;} };main.cpp
#include "MyClass.h"void main(){MyClass<int> myclassVc;myclassVc.getX().push_back(1);myclassVc.getX().push_back(2);myclassVc.getX().push_back(3);myclassVc.getX().push_back(4);myclassVc.getX().push_back(5);cout << myclassVc;system("pause"); }總結
以上是生活随笔為你收集整理的C++工作笔记-对容器模板的初步认识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ STL list删除和修改
- 下一篇: 软件设计师习题笔记-重点习题二