CS 225 Data Structures Au August 26 Cl Classes es and Ref efer - - PowerPoint PPT Presentation

cs 225
SMART_READER_LITE
LIVE PREVIEW

CS 225 Data Structures Au August 26 Cl Classes es and Ref efer - - PowerPoint PPT Presentation

CS 225 Data Structures Au August 26 Cl Classes es and Ref efer eren ence ce Variables es G G Carl Evans St Stream Ru Rules TL;DR: Treat the stream like a classroom, don't say anything that would send you to the Dean of Students.


slide-1
SLIDE 1

CS 225

Data Structures

Au August 26 – Cl Classes es and Ref efer eren ence ce Variables es

G G Carl Evans

slide-2
SLIDE 2

St Stream Ru Rules

TL;DR: Treat the stream like a classroom, don't say anything that would send you to the Dean of Students. Mods will strongly enforce timeouts and bans.

  • Be kind and excellent to each other.
  • No racist, sexist, bullying, sexual, or hate-based comments or

remarks.

  • Constructive criticism is always welcome, insulting or offhand remarks

are not.

  • No excessive disruptive conversation; keep your contributions

academic.

  • The staff/moderation team has final say; don't argue with them.
slide-3
SLIDE 3

Va Variables in C++

int myFavoriteInt; char grade = 'A'; double gamma = 0.653; Cat katia, gwenevere; Cube rubix; Person evans;

slide-4
SLIDE 4

Enc Encapsul sulation

Cube.h Cube.cpp

slide-5
SLIDE 5

#pragma once class Cube { public: private: };

Cube.h

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

slide-6
SLIDE 6

#include "Cube.h" double Cube::getVolume() { }

Cube.cpp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 class Cube { public: double getVolume(); 4 5 6

Cube.h

slide-7
SLIDE 7

#pragma once class Cube { public: double getVolume(); private: };

Cube.h

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include "Cube.h" double Cube::getVolume() { }

Cube.cpp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

slide-8
SLIDE 8

Names Namespaces aces

slide-9
SLIDE 9

Names Namespaces aces

cs225

Cube PNG HSLAPixel

std

cout vector queue …

...

slide-10
SLIDE 10

#pragma once namespace cs225 { class Cube { public: double getVolume(); double getSurfaceArea(); private: double length_; }; }

Cube.h

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include "Cube.h" namespace cs225 { double Cube::getVolume() { return length_ * length_ * length_; } double Cube::getSurfaceArea() { return 6 * length_ * length_; } }

Cube.cpp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

slide-11
SLIDE 11

#pragma once namespace cs225 { class Cube { public: double getVolume(); double getSurfaceArea(); private: double length_; }; }

Cube.h

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include "Cube.h" namespace cs225 { double Cube::getVolume() { return length_ * length_ * length_; } double Cube::getSurfaceArea() { return 6 * length_ * length_; } }

Cube.cpp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 2 3 4 5 6 7 8 #include "Cube.h" #include <iostream> int main() { cs225::Cube c; std::cout << "Volume: " << c.getVolume() << std::endl; return 0; }

slide-12
SLIDE 12

#include "Cube.h" #include <iostream> int main() { cs225::Cube c; std::cout << "Volume: " << c.getVolume() << std::endl; return 0; }

main.cpp

1 2 3 4 5 6 7 8

slide-13
SLIDE 13

#include "Cube.h" #include <iostream> int main() { cs225::Cube c; std::cout << "Volume: " << c.getVolume() << std::endl; return 0; }

main.cpp

1 2 3 4 5 6 7 8

slide-14
SLIDE 14

#include "Cube.h" #include <iostream> int main() { cs225::Cube c; std::cout << "Volume: " << c.getVolume() << std::endl; return 0; }

main.cpp

1 2 3 4 5 6 7 8

slide-15
SLIDE 15

Con Constru ructor

  • r
slide-16
SLIDE 16

#pragma once namespace cs225 { class Cube { public: Cube(); double getVolume(); double getSurfaceArea(); private: double length_; }; }

Cube.h

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include "Cube.h" namespace cs225 { Cube::Cube() { } double Cube::getVolume() { return length_ * length_ * length_; } double Cube::getSurfaceArea() { return 6 * length_ * length_; } }

Cube.cpp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

slide-17
SLIDE 17

#pragma once namespace cs225 { class Cube { public: Cube(double length); double getVolume(); double getSurfaceArea(); private: double length_; }; }

Cube.h

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include "Cube.h" namespace cs225 { Cube::Cube(double length) { } double Cube::getVolume() { return length_ * length_ * length_; } double Cube::getSurfaceArea() { return 6 * length_ * length_; } }

Cube.cpp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

slide-18
SLIDE 18

#pragma once namespace cs225 { class Cube { public: Cube(double length); double getVolume(); double getSurfaceArea(); private: double length_; }; }

Cube.h

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include "Cube.h" namespace cs225 { Cube::Cube(double length) { length_ = length; } double Cube::getVolume() { return length_ * length_ * length_; } double Cube::getSurfaceArea() { return 6 * length_ * length_; } }

Cube.cpp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 2 3 4 5 6 7 8 9 10 11 #include "Cube.h" using cs225::Cube; #include <iostream> using std::cout; using std::endl; int main() { Cube c; cout << "Volume: " << c.getVolume() << endl; return 0; }

puzzle.cpp

slide-19
SLIDE 19

Ha Hate e Typi ping ng co cout:: a :: and cs cs225::? 225::?

Useful Shortcut:

using std::cout; // Imports cout into global scope using std::endl; // Imports endl into global scope using cs225::Cube; // Imports Cube into global scope

Strongly Discouraged Shortcut

using namespace std; // Imports all of std:: into // global scope! // ...THOUSANDS of things!

slide-20
SLIDE 20

#pragma once namespace cs225 { class Cube { public: Cube(double length); double getVolume(); double getSurfaceArea(); private: double length_; }; }

Cube.h

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include "Cube.h" namespace cs225 { Cube::Cube(double length) { length_ = length; } double Cube::getVolume() { return length_ * length_ * length_; } double Cube::getSurfaceArea() { return 6 * length_ * length_; }}

Cube.cpp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 7 8 9 10 11 int main() { Cube c; cout << "Volume: " << c.getVolume() << endl; return 0; }

puzzle.cpp

slide-21
SLIDE 21

#pragma once namespace cs225 { class Cube { public: Cube(double length); double getVolume(); double getSurfaceArea(); private: double length_; }; }

Cube.h

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #include "Cube.h" namespace cs225 { Cube::Cube(double length) { length_ = length; } double Cube::getVolume() { return length_ * length_ * length_; } double Cube::getSurfaceArea() { return 6 * length_ * length_; }}

Cube.cpp

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 7 8 9 10 11 int main() { Cube c; cout << "Volume: " << c.getVolume() << endl; return 0; }

puzzle.cpp

slide-22
SLIDE 22

CS 225 CS 225 – Thi Things ngs To Be e Doing ng

lab_intro start in lab (Due Sept. 9th)

Make sure to attend your lab section every week – they’re worth points and EC starting the third week!

MP1 is released Today!

Due: Monday, Sept. 9th (~12 days after release)

Ensure you are on our Piazza

Details on the course website: https://courses.engr.illinois.edu/cs225/

See you Friday!