《构造函数和析构函数》-课件.pptVIP

  • 3
  • 0
  • 约1.62万字
  • 约 40页
  • 2018-11-18 发布于广西
  • 举报
3.2 构造函数和析构函数 3.2.1 简单的构造函数和析构函数 3.2.2 参数化的构造函数 3.2.3 重载构造函数与拷贝构造函数 3.2.4 类的对象的初始化 3.2.1 简单的构造函数与析构函数 3.2.1 简单的构造函数与析构函数 3.2.1 简单的构造函数与析构函数 3.2.2 参数化的构造函数 3.2.3 重载构造函数与拷贝构造函数 3.2.3 重载构造函数与拷贝构造函数 3.2.3 重载构造函数与拷贝构造函数 (二)拷贝构造函数 3.2.4 类的对象的初始化 3.2.4 类的对象的初始化 3.2.4 类的对象的初始化 3.2.4 类的对象的初始化 3.2.4 类的对象的初始化 3.2.4 类的对象的初始化 3.2.4 类的对象的初始化 3.2.4 类的对象的初始化 3.2.4 类的对象的初始化 1. C++允许以下 3 种数据初始化方法: (1)初始值表 适用于结构和数组的初始化 (2)赋值表达式 例: int i = 1 ; char *p = “No. 1” ; 适用于简单变量或指针类型的初始化 1. C++允许以下 3 种数据初始化方法: (1)初始值表 适用于结构和数组的初始化 (2)赋值表达式 适用于简单变量或指针类型的初始化 (3)表达式表 与方法(2)语义相同,风格不一样 例: int i (1) ; char *p ( “No. 1” ) ; 1. C++允许以下 3 种数据初始化方法: (1)初始值表 适用于结构和数组的初始化 (2)赋值表达式 适用于简单变量或指针类型的初始化 构造函数的初始化主要采用表达式表的方法 (3)表达式表 与方法(2)语义相同,风格不一样 2. C++中,类的初始化分为两种情况: (1)对仅有公有段成员,而没有构造函数或基类的类对象, 用初始值表来表示。典型例子是结构。 (2)带有构造函数的类的初始化 例: class X { public: X ( ) ; X ( int i ) ; private: int i ; }; main ( ) { X one ; // 调用无参构造函数 X::X() X two (1) ; // 调用构造函数 X::X(int),表达式表 X three = 1 ; // 调用构造函数 X::X(int),赋值表达式 } 3. 初始化时,构造函数可用两种方式把值赋给成员: (1)接受该值作为参量,并在构造函数体内赋给其成员 例: class X { int a, b ; // 缺省为 private 成员 public: X( int i , int j ) { a = i ; b = j ; } } 3. 初始化时,构造函数可用两种方式把值赋给成员: (1)接受该值作为参量,并在构造函数体内赋给其成员 (2)使用函数体前的初值表(冒号语法) ? 代替函数体内对一般成员赋值 例: class X { int a, b ; public: X( int i , int j ) : a ( i ) , b ( j ) { }; } a = i ; b = j ; 3. 初始化时,构造函数可用两种方式把值赋给成员: (1)接受该值作为参量,并在构造函数体内赋给其成员 (2)使用函数体前的初值表(冒号语法) ? 代替函数体内对一般成员赋值 ? 调用类数据成员的构造函数(类成员为自定义类对象) //ex3_7 class studentID { public: studentID ( int d =0) { value = d ; cout “Assigning student id ” value endl ; } ; ~studentID( ) { cout “Destructing id ” value endl ; } ; protected: int value; } ; class student { public: student ( char *pname =“ no name ”, int ssID = 0 ) : i

文档评论(0)

1亿VIP精品文档

相关文档