ผลต่างระหว่างรุ่นของ "Adt lab/classes"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 24: แถว 24:
  
 
=== Interface ===
 
=== Interface ===
 +
 +
<source lang="cpp">
 +
class IntegerSet
 +
{
 +
private:
 +
  static const int max_size = 100;
 +
  int elements[max_size];
 +
  int num_elements;
 +
 
 +
public:
 +
  IntegerSet();
 +
 +
  void add(int x);
 +
  bool contains(int x);
 +
  void remove(int x);
 +
};
 +
</source>
  
 
=== Implementation ===
 
=== Implementation ===
  
 
== Copy constructors ==
 
== Copy constructors ==

รุ่นแก้ไขเมื่อ 23:48, 3 กันยายน 2558

This is part of Adt lab

C++ is a class-based object-oriented programming language. Every object in C++ must be an instance of some class. If you are familiar with OOP in Java, most ideas should be familiar; you may need to learn a few new terminologies. There are one main difference: in C++ you have freedom to use an object as a value-typed variable; in Java, every object is a reference variable. We will look at these basic idea this week.

On-line resources

Classes in C++

Review of basic terminologies

Classes are user-defined types. An object is an instance of a class. A class can contain many members: data members, member functions, constants. (Note that in C++, we do not call member functions as methods.) Members can have access labels: public, protected, private. Some member can be static member, i.e., it is a member that is shared among all objects in the class.

Dog class

Simple counter class

ADT: Integer set

Interface

class IntegerSet
{
private:
  static const int max_size = 100;
  int elements[max_size];
  int num_elements;
  
public:
  IntegerSet();

  void add(int x);
  bool contains(int x);
  void remove(int x);
};

Implementation

Copy constructors