构造函数
自动初始化对象的特殊的成员函数
与所属的类名同名
可以在类中声明并定义构造函数,或在类中声明而在外部定义
可以同时有几个含有不同参数的构造函数,实例化时通过不同参数定义不同的对象
1 #include <iostream>
2
3 using namespace std;
4
5 class date
6 {
7 int month, day, year;
8 public:
9 date()
10 {
11 day = 1;
12 month = 1;
13 year = 1999;
14 }
15 date(int x)
16 {
17 day = x;
18 month = 1;
19 year = 1999;
20 }
21 date(int x, int y, int z)
22 {
23 day = x;
24 month = y;
25 year = z;
26 }
27 void PrintDate()
28 {
29 cout << "DAY: " << day << endl;
30 cout << "MONTH: " << month << endl;
31 cout << "YEAR: " << year << endl;
32 }
33 };
34 int main()
35 {
36 date now;
37 date today(4);
38 date all(23,3,1999);
39 now.PrintDate();
40 today.PrintDate();
41 all.PrintDate();
42 return 0;
43 }
析构函数
在对象销毁时自动调用的成员函数
编译器会自动生成对析构函数的调用
与类同名,但是在函数名前有个波浪号(~)
析构函数没有返回类型,也不带参数
作用域
使用作用域解析操作符(::)在类外定义成员函数
return_type class_name :: member_functions(arg1, arg2, ..., argn){}
参数的类型必须与声明的类型完全匹配
静态变量
同一个类的所有对象共享数据项
只会为整个类创建一个静态数据项
只在类的内部可见
生命周期贯穿整个程序
static date_type variable
new
用于为类的对象创建内存空间
如果成功,返回所分配内存空间的指针
delete
用于显式销毁由new创建的对象
私货:08:38:53 好久没有在这里写字了。今天一天没有课,在图书馆泡一整天搞定CPP
时间: 2024-10-08 09:09:50