-
后置++的重载声明查看全部
-
一元函数 - (负号)的重载 在类中声明:声明方式 friend Coordinate & operator-(Coordinate & c); //return c,而不是*this查看全部
-
一元函数 - (负号)的重载 在类中声明:声明方式Coordinate & operator-();查看全部
-
运算符重载的本质是函数重载 关键字:operator查看全部
-
static查看全部
-
静态成员函数不可以调用非静态数据成员和非静态成员函数,但普通成员函数可以调用静态数据成员和静态成员函数 静态成员函数不可用const修饰查看全部
-
静态数据成员必须单独初始化 静态成员函数不能调用非静态成员函数和非静态数据成员 非静态成员函数可以调用静态成员函数和静态数据成员 静态数据成员不依赖于对象而存在,仅此一份。 静态成员,不必初始化就是存在的查看全部
-
前两行通过类来使用静态成员函数 后两行通过对象来使用静态成员函数查看全部
-
calss Time; class Watch { public: Watch(Time &t):m_tTime(t){}//初始化对象m_tTime,直接传一个Time类的引用或地址// void display() { cout << m_tTime.m_iHour << endl; cout << m_tTime.m_iMinute << endl; cout << m_tTime.m_iSecond << endl; } public: Time m_tTime; };查看全部
-
在Coordinate中使用友元类Circle之前,需要在Coordinate之前先用class Circle声明Circle这个类查看全部
-
友元成员函数: printXY是定义在Circle类中的成员函数 可以直接访问Coordinate的私有成员查看全部
-
友元全局函数: printXY是定义在外面的全局函数 可以直接访问Coordinate的私有成员查看全部
-
nice查看全部
-
构造函数的执行可以分成两个阶段,初始化阶段和计算阶段,初始化阶段先于计算阶段。 所有类类型(class type)的成员都会在初始化阶段初始化,即使该成员没有出现在构造函数的初始化列表中 除了性能问题之外,有些时候合初始化列表是不可或缺的,以下几种情况时必须使用初始化列表: 1.常量成员,因为常量只能初始化不能赋值,所以必须放在初始化列表里面 2.引用类型,引用必须在定义的时候初始化,并且不能重新赋值,所以也要写在初始化列表里面 3. 没有默认构造函数的类类型,因为使用初始化列表可以不必调用默认构造函数来初始化,而是直接调用拷贝构造函数初始化查看全部
-
#include <iostream> using namespace std; class Watch; /** * 定义Time类 * 数据成员:m_iHour, m_iMinute,m_iSecond * 成员函数:构造函数 * 友元类:Watch */ class Time { // 友元类 friend class Watch; public: Time(int hour, int min, int sec) { m_iHour = hour; m_iMinute = min; m_iSecond = sec; } public: int m_iHour; int m_iMinute; int m_iSecond; }; /** * 定义Watch类 * 数据成员:m_tTime * 成员函数:构造函数 * display用于显示时间 */ class Watch { public: Watch(Time &t):m_tTime(t){} void display() { cout << m_tTime.m_iHour << endl; cout << m_tTime.m_iMinute << endl; cout << m_tTime.m_iSecond << endl; } public: Time m_tTime; }; int main() { Time t(6, 30, 20); Watch w(t); w.display(); return 0;查看全部
举报
0/150
提交
取消