目录
类的引入
C++兼容C
C++与Cstruct的区别
类的定义方式
类的访问限定符及封装
访问限定符
封装
类的作用域
类的实例化
声明和定义
实例化
类对象的存储方式猜测
计算大小
内存对齐
命名规范
this指针
this指针的特性
类的6个默认成员函数
构造函数
特性
析构函数
概念
特性
拷贝构造函数
概念
特征
拷贝构造和默认构造的关系
// 写了默认构造但是没有写拷贝构造,编译器默认生成 - 默认的拷贝构造
// 下面代码不会报错
class Date
{
public:
Date()
{
cout << "Date" << endl;
}
};
int main()
{
Date d;
Date d1 = d;
return 0;
}
// 下面代码会报错
// 因为写了拷贝构造但是没有写-构造函数,编译器不会再生成默认的构造函数了,所以会报错
class Date
{
public:
//Date()
//{
// cout << "Date" << endl;
//}
Date(const Date& d)
{
cout << "Date(const Date& d)" << endl;
}
};
int main()
{
Date d;
Date d1 = d;
return 0;
}
赋值运算符重载
运算符重载
赋值运算符重载
调用顺序
前置++和后置++重载
日期类的实现
日期类中流的重载
代码
const成员
取地址及const取地址操作符重载
再谈构造函数
构造函数体赋值
初始化列表
总结
explicit关键字
static成员
概念
特性
实现只在栈上创建对象
匿名函数
友元
友元函数
友元类
内部类(了解)