1.构造函数:类中数据类型是private或者protect 不能在定义时候进行初始化方法,public 数据类型在初始时候能够进行初始化- 构造函数在建立对象时候会自动执行,构造函数必须与类名称一样;同样在类中声明,在 类外用Time::Time()方式定义
- 同样构造函数可以重载类似于Java一样
析构函数:与构造函数相反的,C++中~符号,撤销被占用的内存前进行一些处理
C++共享数据进行保护 const 关键字,既能在一定范围内共用,不能不被其他数据修改类似于Java中final
- 如果一个对象声明常对象,不能调用其中非const型成员函数
- const Time t1(10,15,36)
-
复制构造函数:类对象中内部结构较为复杂,还有各种成员变量
- 相同类型的类对象通过 拷贝构造函数完成类
- 形式:X::X(const X&c) 函数名称与类的名称一样:他的参数是本类型的一个引用变量
- 一般拷贝构造函数是浅拷贝只能处理静态的变量函数,对于动态变量函数,在拷贝构造函数中 new开辟新的地址,进行深拷贝
- http://blog.csdn.net/lwbeyond/article/details/6202256/
-
1 /*对拷贝构造函数理解*/ 2 #include<iostream> 3 class Example{ 4 private : 5 int a; 6 7 public : 8 Example (int b) 9 { 10 a=b; 11 } 12 /*拷贝构造函数*/ 13 Example(const Example& c) 14 { 15 a=c.a; 16 17 } 18 19 void show() 20 { 21 std::cout<<a<<std::endl; 22 23 24 } 25 }; 26 27 int main() 28 { 29 Example A(100); 30 Example B=A; 31 B.show(); 32 return 0; 33 }
- 1.friend 友元函数:让类外访问类中private变量;打破类的封装性