-
学习流程查看全部
-
list的遍历必须用迭代器,map是映射,插入使用insert()函数。查看全部
-
标准模板库之vector //对数组的封装。1.常用的函数如图. empty() begin() end() front() back() size() push_back(ele) pop_back() 2.另一种遍历的方式——迭代器. vector<int>::iterator p = vec.begin(); //可以将其视为指针来用 for(;p!=vec.end();p++) { cout<<*p<<endl; } 注:此处的向量就是数据结构中的顺序表,list即是链表,两证拥有相同的常用函数。查看全部
-
定义类友元时,需要在原类头声明目标类(需要调用的函数所属类),同时在目标类头声明原类;在目标类中声明原类为 friend+类名。原类中,定义一个成员为目标类,作为目标类的初始化与传入参数。查看全部
-
模板类:1.类模板不能分开编译,只能全部包含在一个.h文件下 2.类外定义成员函数的时候,要指定类型。且在每个函数上方都要写template<typename A> <br> template<typename T><br> class MyArray<br> {<br> public:<br> void display(T a);<br> private<br> T x;<br> } template<typename T> //每个函数都要加 void MyArrar<T>::display(T a) //要指定模板的参数类型 { }查看全部
-
对于友元,先正常定义,然后需要使用那个类的成员,就在其里面重新定义 若是,类成员,则先在原类的头声明目标类,再在目标类中重新定义函数,但是要加上函数的原类作为域限制和include头文件 友元重定义时与public等权限无关查看全部
-
函数模板的关键字:template class typename(其中后两者相同)<br> 函数模板:<br> 1.类型模板 template<class T> T display(T a,T b ) { } 调用的时候: display(100,2);自动判断//或者 display<int,int>(100,2); 2.变量作为参数 template<int size> { } 3.多参数模板 template<class A,calss B> void display(A a, B b) {} {}查看全部
-
函数模板在定义时并不会产生任何的代码段,只有实例化的时候,才会产生真正的代码。查看全部
-
一元运算符不用写实际的参数。二元运算符才写。 前置++不写参数,后置++写int(只是象征性的区分一下,没有意义)查看全部
-
二元运算符重载: <br><br><br> Coordinate operator+(const Coordinate coor)<br><br><br> {<br><br><br> Coordinate temp;<br><br><br> temp.m_iX=this->m_iX+coor.m_iX;<br><br><br> return temp;<br><br><br> }<br><br> 友元函数 <br><br> friend Coordinate operator(const Coordinate &c1,const Coordinate &c2);<br><br> <br><br> 索引[]的重载:<br><br> int operator[](int index)<br><br> {<br><br> if(index==0) return m_iX;<br><br> if(index==1) return m_iY;<br><br> }查看全部
-
重载后置++的时候,返回值是个临时的对象,不是引用,查看全部
-
向量数组与传统的数组区别:可以根据存储元素个数自动变长或变短;能在随机读取数据时能在常数时间读取查看全部
-
两种方法查看全部
-
定义一个向量的迭代器查看全部
-
复制构造函数 old(*this)查看全部
举报
0/150
提交
取消