第一节 · 从原子到宇宙 · 面向对象概述
面向对象编程是 C++ 的核心特性之一。类是用户自定义的类型,对象是类的实例。
定义类
class Person
{
public:
// 成员变量
string name;
int age;
// 成员函数
void introduce()
{
cout << "I'm " << name << ", " << age << " years old." << endl;
}
};
int main()
{
// 创建对象
Person p;
p.name = "Alice";
p.age = 25;
p.introduce(); // I'm Alice, 25 years old.
return 0;
}访问控制
修饰符
含义
public
任何地方都可访问
private
只有类内部可访问
protected
类内部和派生类可访问
struct vs class
唯一区别是默认访问权限:
struct:默认publicclass:默认private
构造函数
初始化列表
为什么用初始化列表?
效率更高(直接构造,而非先默认构造再赋值)
const 成员和引用成员必须使用
可以控制初始化顺序
析构函数
this 指针
const 成员函数
静态成员
习题
设计一个
Date类,包含年月日,并实现日期比较。解释构造函数初始化列表和函数体内赋值的区别。
实现一个统计对象数量的类。
Last updated