北方民族大学程序设计语言课件第四章 类与对象.pptVIP

  • 0
  • 0
  • 约1.66万字
  • 约 65页
  • 2019-05-06 发布于广东
  • 举报

北方民族大学程序设计语言课件第四章 类与对象.ppt

(续) 例 4-12 (续) (续) (续) //EXAMPLE4_13.H #includeiostream.h class A { public: A() { coutA() is calledendl; } A(int x,int y); private: int a,b; }; A::A(int x,int y) { a=x; b=y; coutA(int x,int y) is calledendl; coutA=a\tB=bendl; } 构造函数的调用 例 4-13 声明对象a: A() is called 声明对象b(10,10) : A(int x,int y) is called A=10 B=10 //EXAMPLE4_13.CPP #includeEXAMPLE4_13.H int main() { cout声明对象a:endl; A a; coutendl; cout声明对象b(10,10) :endl; A b(10,10); return 0; } C++类中还有一个特殊的成员函数,即析构函数。析构函数在对象终止时由系统自动调用,以释放分配给对象的内存。析构函数的函数名应为类名前加“~”,析构函数中没有参数,也不能为之指定返回值类型。 注 一个类内只能声明一个析构函数。它也是公有的成员函数。如果类中没有声明,系统也会自动生成一个带空函数体的析构函数。 【 4.4.2 析构函数】 析构函数的调用 //EXAMPLE4_14.H #includeiostream.h class A { public: A(){ coutA() is calledendl; } ~A() {cout~A() is calledendl;} }; //EXAMPLE4_14.CPP #includeEXAMPLE4_14.H int main() { cout创建对象a:endl; A a; coutendl; cout程序将结束,终止对象a:endl; return 0; } 创建对象a: A() is called 程序将结束,终止对象a: ~A() is called 例 4-14 以其他类对象作为数据成员的类,称为组合类。 声明组合类的对象时,类中的内嵌对象也将被自动创建。创建这种类的对象时,为了初始化内嵌对象,需要调用这些内嵌对象所属类的构造函数。 组合类的构造函数应定义成如下形式: 类名::类名(形参表):对象1(形参表),对象2(形参表), …,对象n(形参表) { 函数体 } //EXAMPLE4_15.H #includeiostream.h class A { public: A (int x) //构造函数 (续) 例 4-15 组合类对象的初始化过程 分隔符,其后的列表叫成员初始化列表 对象1、对象2、…,对象n都是类的内嵌对象 【 4.5 类的组合】 { a=x; cout ″class A constructing \t\t ″aendl; } ~A () //析构函数 { cout ″class A destructing ″endl;} private: int a; }; class B { public: B() //构造函数 { cout ″class B constructing and data member is not evaluated″endl; } B(int x) //构造函数 { b=x; cout ″class B constructing \t\t ″bendl;} 组合类对象的初始化过程 例 4-15 ~B()

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档