-
Notifications
You must be signed in to change notification settings - Fork 0
Home
noBBjustGan edited this page Aug 23, 2018
·
13 revisions
引用:& a 不占内存,和被应用的对象使用的是同一块内存
指针:int * p, 正常情况下占4个字节,是一个指针变量 类型,和被指向的对象使用单独的两块内存空间
/ a.h <—- a.cpp
main.cpp - b.h <—- b.cpp
\ c.h <—- c.cpp
相应的.cpp文件 include 对应同名的.h文件。
.h头文件里放函数的声明 和全局变量,局部变量和函数的实现放在.cpp文件中, 应尽量减少全局变量的使用,在需要用到的位置定义
#ifndef abc_h
#define abc_h
typing code right here
#endif
- 头文件中使用以上代码 防止头文件重复包含
类和结构体
-
class 的默认成员访问权限是 private
-
struct 的默认成员访问权限是 public
-
using namespace std
使用命名空间也可以写在需要使用它的函数内部,避免使用全局变量,增加开销
class Stock
{
private:
std::string company;
long shares;
double share_val;
double total_val;
void set_tot(){total_val = shares * share_val;}
直接在类中实现的函数,将被定义为内联函数
public:
void acquire(const std::string & co, long n, double per);
void buy(long num,double price);
void sell(long num, double price);
void update(double price);
void show();
};
创建对象时未提供初始值时,拿来创建类对象用
//like this
Stock abc; //uses the default constructor
//就像 int x; 这样只定义 未赋值是一样的概念
只有当类中未定义 任何默认构造函数 时,才允许使用 默认构造函数
推荐:初始化对象方式 Stock::Stock() { company_ = "no name"; shares_ = 0; share_val_ = 0.0; total_val_ = 0.0;
}