-
有元类声明方法
查看全部 -
友元成员函数
查看全部 -
在类种声明友元函数可以直接访问传入该类的对象的私有数据
查看全部 -
#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;
}
查看全部 -
静态数据成员注意事项
查看全部 -
静态函数无法调用非静态的普通数据成员或者成员函数,因为不会传this指针,不知道这个数据成员是谁的,但是可以调用静态数据成员或者成员函数,因为这两个可以看成全局变量和函数。
查看全部 -
友元的注意事项
使用友元会破坏封装性,尽量少用友元,友元只是封装的一个补充
查看全部 -
友元全局函数,该函数是全局函数,可以访问私有成员
友元成员函数,该函数是某类的成员函数,可以访问私有成员
参数最好用引用或者指针,不建议直接用成员传入
friend友元函数:
包括友元全局函数和友元成员函数
全局友元函数格式:friend 函数类型 函数名(类名 对象/引用/指针)
友元成员函数格式:friend 函数类型 朋友类名::函数名(类名 对象/引用/指针)
查看全部 -
模板:模板函数,模板类,标准模板类
友元函数 & 友元类
静态数据成员 静态成员函数
查看全部 -
友元函数的意思就是private成员对朋友开放的意思嘛
查看全部 -
初始化vector对象的方法
查看全部 -
vector常用函数
查看全部 -
迭代器使用
查看全部 -
类的每一个成员函数定义都得加template <typename T...>
定义成员函数时类名后面要加<参数列表>:: ...
查看全部 -
template <typename T>后面没有分号
传入的是T类型的参数,注意引用;template下面的函数里就没有尖括号了
查看全部
举报