structure composition : structure « Structure « C++ Tutorial

Home
C++ Tutorial
1.Language Basics
2.Data Types
3.Operators statements
4.Array
5.Development
6.Exceptions
7.Function
8.Structure
9.Class
10.Operator Overloading
11.Pointer
12.File Stream
13.template
14.STL Introduction
15.string
16.vector
17.list
18.bitset
19.set multiset
20.valarray
21.queue stack
22.deque
23.map multimap
24.STL Algorithms Modifying sequence operations
25.STL Algorithms Non modifying sequence operations
26.STL Algorithms Binary search
27.STL Algorithms Sorting
28.STL Algorithms Merge
29.STL Algorithms Min Max
30.STL Algorithms Iterator
31.STL Algorithms Heap
32.STL Algorithms Helper
C / ANSI-C
C Tutorial
C++
Visual C++ .NET
C++ Tutorial » Structure » structure 
8.1.5.structure composition
#include <iostream>

using std::cout;
using std::endl;

#include <iostream>

struct Name {
  char firstname[80];
  char surname[80];
  
  void show();        
};

struct Date {
  int day;
  int month;
  int year;

  void show();        
};

struct Phone {
  int areacode;
  int number;

  void show();        
};

struct Person {
  Name name;
  Date birthdate;
  Phone number;

  void show();
  int age(Date& date);
};

void Name::show() {
    std::cout << firstname << " " << surname << std::endl;
}

void Date::show() {
    std::cout << month << "/" << day << "/" << year << std::endl;
}

void Phone::show() {
    std::cout << areacode << " " << number << std::endl;
}

void Person::show() {
    std::cout << std::endl;
    name.show();
    std::cout << "Brithday: ";
    birthdate.show();
    std::cout << "phone: ";
    number.show()
}

int Person::age(Date& date) {
    if(date.year <= birthdate.year)
      return 0;

    int years = date.year - birthdate.year;
    
    if((date.month>birthdate.month|| (date.month == birthdate.month && date.day>= birthdate.day))
       return years;
    else
       return --years;
}


int main() {
  Person her = {{ "L""G" },      // Initializes Name member
                {141976 },     // Initializes Date member
                {999,5551234}     // Initializes Phone member
               };

  Person actress;
  actress = her;
  her.show();
  Date today = 442007 };

  cout << endl << "Today is ";
  today.show();
  cout <<  endl; 

  cout << "Today " << actress.name.firstname << " is " 
       << actress.age(today<< " years old."
       << endl;
  return 0;
}
L G
Brithday: 4/1/1976
phone: 999 5551234

Today is 4/4/2007

Today L is 31 years old.
8.1.structure
8.1.1.Use memcpy to duplicate structures
8.1.2.Use cin to read data for a structure
8.1.3.const structure parameter
8.1.4.Define structure to record time
8.1.5.structure composition
8.1.6.Using pointers to structure objects: delete the point
8.1.7.Assign one structure to another structure
8.1.8.Use the keyword struct to illustrate a primitive form of class
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.