Records
A Tuple (Mathematically): is a function f : {0, 1, · · · , n − 1} → Set Example: (5, −3.1, 6.0,′ c ′,′′ foo ′′, 13, 14,′ d ′)
J.Carette (McMaster) CS 2S03 1 / 19
Records A Tuple (Mathematically): is a function f : { 0, 1, , n 1 - - PowerPoint PPT Presentation
Records A Tuple (Mathematically): is a function f : { 0, 1, , n 1 } Set Example: ( 5, 3.1, 6.0, c , foo , 13, 14, d ) J.Carette (McMaster) CS 2S03 1 / 19 Records A Tuple (Mathematically): is a
J.Carette (McMaster) CS 2S03 1 / 19
J.Carette (McMaster) CS 2S03 1 / 19
J.Carette (McMaster) CS 2S03 2 / 19
x
J.Carette (McMaster) CS 2S03 3 / 19
x
x 0.0 0.0 0.0
J.Carette (McMaster) CS 2S03 3 / 19
x 0.0 0.0 0.0
J.Carette (McMaster) CS 2S03 4 / 19
x 0.0 0.0 0.0
J.Carette (McMaster) CS 2S03 5 / 19
x 0.0 0.0 0.0
J.Carette (McMaster) CS 2S03 6 / 19
x 0.0 0.0 0.0
x 0.0 0.0 0.0
J.Carette (McMaster) CS 2S03 7 / 19
J.Carette (McMaster) CS 2S03 8 / 19
J.Carette (McMaster) CS 2S03 9 / 19
1 Constructors can be overloaded! J.Carette (McMaster) CS 2S03 10 / 19
1 Constructors can be overloaded! 2 When no constructor is defined, there is a default constructor with no
J.Carette (McMaster) CS 2S03 10 / 19
1 Constructors can be overloaded! 2 When no constructor is defined, there is a default constructor with no
3 When declaring a type, it is also possible to define default values for
J.Carette (McMaster) CS 2S03 10 / 19
J.Carette (McMaster) CS 2S03 11 / 19
y x 90.0 0.0 0.0 48.715 2.208 156.0
48.715! 156.0! 2.208! 90.0! 0.0! 0.0! x! y!
y x 90.0 0.0 0.0 48.715 2.208 156.0
48.715! 156.0! 2.208! 90.0! 0.0! 0.0! x! y!
y x 48.715 2.208 156.0 48.715 2.208 156.0
x! y! 48.715! 156.0! 2.208! 2.208! 48.715! 156.0!
J.Carette (McMaster) CS 2S03 12 / 19
J.Carette (McMaster) CS 2S03 13 / 19
1 Uniformity 2 Sharing J.Carette (McMaster) CS 2S03 14 / 19
x 5
x! 5!
y 4
y! 4!
y x 5
x! 5! y!
J.Carette (McMaster) CS 2S03 15 / 19
J.Carette (McMaster) CS 2S03 16 / 19
4 a x
a! 4! x!
7 b y
b! 7! y!
4 a x b y 7
a! x! b! y! 4! 7!
J.Carette (McMaster) CS 2S03 17 / 19
1 Record Type:
2 Creating:
3 Accessing:
4 Assigning: all fields are constant by default!
J.Carette (McMaster) CS 2S03 18 / 19
1 Record Type:
2 Creating:
3 Accessing:
4 Assigning: all fields are constant by default!
J.Carette (McMaster) CS 2S03 19 / 19