ch14_2.cpp
资源名称:c.rar [点击查看]
上传用户:puke2000
上传日期:2022-07-25
资源大小:912k
文件大小:1k
源码类别:

C#编程

开发平台:

Visual C++

  1. //**********************
  2. //**    ch14_2.cpp    **
  3. //**********************
  4. #include <iostream.h>
  5. #include <string.h>
  6. class Student{
  7. public:
  8.   Student(char* pName="no name")
  9.   {
  10.     cout <<"Constructing new student " <<pName <<endl;     strncpy(name,pName,sizeof(name));
  11.     name[sizeof(name)-1]='';
  12.   }
  13.   Student(Student& s)
  14.   {
  15.     cout <<"Constructing copy of " <<s.name <<endl;     strcpy(name,"copy of ");
  16.     strcat(name,s.name);
  17.   }
  18.   ~Student()
  19.   {
  20.     cout <<"Destructing " <<name <<endl;
  21.   }
  22. protected:
  23.   char name[40];
  24. };
  25. class Tutor{
  26. public:
  27.   Tutor(Student& s):student(s)
  28.   {
  29.     cout <<"Constructing tutorn";
  30.   }
  31. protected:
  32.   Student student;
  33. };
  34. void fn(Tutor tutor)
  35. {
  36.   cout <<"In function fn()n";
  37. }
  38. void main()
  39. {
  40.   Student randy("Randy");
  41.   Tutor tutor(randy);
  42.   cout <<"Calling fn()n";
  43.   fn(tutor);
  44.   cout <<"Returned from fn()n";
  45. }