ผลต่างระหว่างรุ่นของ "Adt lab/classes"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
| แถว 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
- C++ Programming on wikibooks: classes section
- Tutorial from cplusplus.com
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);
};