- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++ Mini-Course
•Part 1: Mechanics
•Part 2: Basics
CPSC 221, Texas A&M University
Adapted from: Brown CS123
/courses/cs123/resources/c++_mini_course.ppt
C++ Mini-Course
Part 1 : Mechanics
C++ is a superset of C
• New Features include
– Classes (Object Oriented)
– Templates (Standard Template Library)
– Operator Overloading
– Slightly cleaner memory operations
Segment.cpp
#include “Segment .h ”
#include “Po int .h ”
Segment : :Segment ()
{
m_p0 = new Po int (0 , 0) ;
m_p1 = new Po int (1 , 1) ;
}
Segment : :~ Segment ()
{
delete m_p0 ;
delete m_p1 ;
}
Segment.h
#ifn def SEGMENT_HEADER #define SEGMENT_HEADER
class Po int ;
class Segment
{
public :
Segment () ;
virtual ~ Segment () ;
pr ivate :
Po int *m_p0 , *m_p1 ;
} ;
#endif // SEGMENT_HEADER
Some C++ code
#include
#include “Segment.h ”
Insert header file at this po in
#include <io stream>
Use library header.
Header Guards
#ifndef SEGMENT_HEADER
#define SEGMENT_HEADER
// contents of Segment.h
//...
#endif
• To ensure it is safe to include a file more than once.
Header Guards
#ifndef SEGMENT_HEADER
#define SEGMENT_HEADER If this variable is
not defined…
// contents of segment.H
//...
Define it.
End of guarded area.
gui.h
#include “gui
#include “contro ller .h ”
// defin
// . . .
controller.h
• What ’ s wrong
with this picture?
• How do we fix it?
Circular Includes
// . . .
pr ivate :
Gu i* myGu i ; // . . .
} ;
class Contro ller {
h ”
.
• In header files, only include what you must.
• If only pointers to a class are used,
use forward
declarations.
//Forward Declaration
class Contro ller ;
// defin
// . . .
controller.h
//Forward declaration
class Gui ;
class Contro ller
Forward Declarations
gui.h
External Libraries, libc.so, libcs123.so
Compilation
Object files
Executable
OK, OK. How do I run my Program?
> make
And if all goes well…
> ./myprog
C++ Mini-Course
Part 2 : Basics
int x = 10 ; int *p ;
p = &x ;
p gets the address of x in memor
文档评论(0)