-
1.静态数据成员必须单独初始化 2.静态成员函数不能调用非静态成员函数和非静态数据成员 3.静态数据成员只有一份,且不依赖对象而存在查看全部
-
static function查看全部
-
对象和类访问数据成员与函数的区别查看全部
-
友元的注意事项查看全部
-
构造函数的执行可以分为两个阶段,初始化阶段和计算阶段,初始化阶段先于计算阶段。所有类类型的成员都会在初始化阶段初始化,即使该成员没有出现在构造函数的初始化列表中,除了性能问题之外,有些时候初始化列表是不可获或缺的。例如: 1.常量成员:因为常量只能初始化不能赋值,所以必须放在初始化列表中 2.引用类型:引用必须在定义的时候初始化,并且不能重新赋值,所以也要写在初始化列表里面 3.没有默认构造函数的类类型,因为使用初始化列表可以不必调用默认构造函数查看全部
-
1.友元关系不可传递 2.友元关系的单向性 3.友元的声明形式和数量不受限制查看全部
-
传入引用相当于传入对象的别名,传入对象,则形参相当于复制了传入的对象,是另一个对象,不再是同一个对象查看全部
-
前置++:Coordinate& operator++(); 后置++: Coordinate operator++(int);//此处int只是作为后置++的标志·区分前置++;查看全部
-
#include <iostream> using namespace std; /** * 定义模板函数swapNum * 实现功能:交换两个数的位置 */ template <typename T> void swapNum(T &a,T &b) { T temp = a; a = b; b = temp; } int main(void) { int x = 10; int y = 20; // 调用模板函数 swapNum<int>(x,y); cout << "x = " << x << endl; cout << "y = " << y << endl; return 0; } 参数用引用才能改变实参的值查看全部
-
#include <iostream> using namespace std; /** * 定义Coordinate类 * 数据成员:m_iX,m_iY * 成员函数:构造函数 * 重载--运算符,重载+运算符 */ class Coordinate { public: Coordinate(int x, int y) { m_iX = x; m_iY = y; } // 前置--重载 Coordinate operator--() { this->m_iX=--this->m_iX; this->m_iY=--this->m_iY; return *this; } // 后置--重载 Coordinate operator--(int) { Coordinate old(*this); this->m_iX=this->m_iX--; this->m_iY=this->m_iY--; return old; } // +号运算符重载 Coordinate operator+(Coordinate c2) { Coordinate temp(0,0); temp.m_iX=this->m_iX+c2.m_iX; temp.m_iY=this->m_iY+c2.m_iY; return temp; } public: int m_iX; int m_iY; }; int main(void) { Coordinate coor1(1, 3); Coordinate coor2(2, 4); Coordinate coor3(0, 0); coor1--; --coor2; coor3 = coor1 + coor2; cout << coor3.m_iX << endl; cout << coor3.m_iY << endl; return 0; }查看全部
-
数据类型不同,运算逻辑完全相同。查看全部
-
,啊查看全部
-
vector 初始化查看全部
-
friends友元函数关键字查看全部
-
向量 vector常用函数查看全部
举报
0/150
提交
取消