-
#include <vector> #include <map> #include <string> #include <iostream> using namespace std; int main(void) { // 使用vector存储数字:3、4、8、4 vector<int> vec; vec.push_back(3); vec.push_back(4); vec.push_back(8); vec.push_back(4); //循环打印数字 for (int i = 0; i < vec.size(); i++){ cout << vec[i] << endl; } // 使用map来存储字符串键值对 map<string, string> m; pair<string, string>p1("S", "Shang Hai"); pair<string, string>p2("B", "Bei Jing"); pair<string, string>p3("G", "Guang Zhou"); m.insert(p1); m.insert(p2); m.insert(p3); map<string, string>::iterator itor = m.begin(); // 打印map中数据 for (; itor != m.end(); itor++){ cout << itor->first << "-" << itor->second << endl; } system("pause"); return 0; }查看全部
-
必须用iostream查看全部
-
1. 静态变量必须单独初始化; 2. 静态成员函数不能调用非静态成员变量; 3. sizeof()计算不到静态成员的大小。查看全部
-
静态的成员函数中无法调用非静态的成员属性。查看全部
-
静态成员的初始化是单独写的。查看全部
-
并不依赖于对象,而是依赖于类。查看全部
-
把友元当做自己知识的炫耀.查看全部
-
【>>、<<运算符】 (只能用做友元函数重载,<<重载时的形参有两个参数,第一个必须是ostream对象,而成员函数重载时第一个形参是隐形的this指针,因此<<只能声明为友元函数重载) class Coordinate { friend ostream& operator<<(ostream &out, const Coordinate &coor); } ostream& operator<<(ostream &out, const Coordinate &coor) { out<<coor.m_iX<<","<<coor.m_iY; return out; } int main(void) { ... cout<<coor;//operator<<(cout,coor); ... } 【[]索引运算符】 (无法通过友元函数重载。因为友元函数重载的第一个参数可以是成员函数重载中的this指针,也可以是其他值。可是作为索引运算符,第一个参数必须是this指针,只有第一个参数是this指针才能够传入索引,才能够让索引表达的是当前对象当中的成员) class Coordinate { ... int operator[](int index); ... } int Coordinate::operator[](int index) { if(0==index) {return m_iX;} if(1==index) {return m_iY;} } int main(void) { ... cout<<coor[0];//coor.operator[](0); cout<<coor[1];//coor.operator[](1); ... }查看全部
-
【+运算符】 成员函数重载: class Coordinate{…Coordinate operator+(const Coordinate &coor);…} Coordinate operator+(const Coordinate &coor) { Coordinate temp; temp.m_iX=this->m_iX+coor.m_iX; temp.m_iY=this->m_iY+coor.m_iY; return temp; } int main (void) { ... coor3=coor1+coor2;//coor1.operator+(coor2) ... } 友元函数重载: class Coordinate{friend Coordinate operator+(const Coordinate &c1,const Coordinate &c2);…} Coordinate operator+(const Coordinate &c1,const Coordinate &c2) { Coordinate temp; temp.m_iX=this->m_iX+coor.m_iX; temp.m_iY=this->m_iY+coor.m_iY; return temp; } int main(void) { …… coor3=coor1+coor2;//operator+(coor1,coor2) …… }查看全部
-
关键字operator查看全部
-
+,-号的实现查看全部
-
实现运算符的运算查看全部
-
yunsuanfu查看全部
-
索引运算符[]必须用成员函数重载查看全部
-
<<运算符重载必须用友元函数查看全部
举报
0/150
提交
取消