1:头文件:使用#ifndef防止多重修改
#ifndef STOCK10_H_//如果未定义这个变量
#include
class stock
{
private:
std:string company;
long shares_val;
double total_val;
public:
stock();
stock(const std::string &co,long n=0,double pr=o.o);
}
2:实现文件:包含文件stock10.h
include<iostream>
#include"stock10.h"
stock::stock()
{
std::cout<<"default constructor called\n";
company ="no name";
shares=0;
}
客户文件及注意事项:
stock stock(“Nanosmart”,12,20.0)//创建一个名为stock1的stock对象,并初始化。
construct using Nanosmart called
company:Nanosmart shares:12
下面创建另一种语法来初始化一个名为stock 2对象
stock 2:
stock stock2=stock(“boffo objects".2,2.0);
另一种方式是允许调用构造函数来创建一个临时对象,然后将该临时对象复制到stock 2中,并放弃这个临时对象//在这种方式下,则将为临时对象调用析构函数,因此有
constructor using boffo objects called
bye,boffo objects shares:2
下面的语句是:将一个对象赋给另一个对象
stock2=stock1;//stock2的内容将被覆盖。
5:c++11列表初始化:
在c++11中,可将列表初始化语法用于类,例如:
stock hot_tip={“derivatives plus plus”,100,45.0};
stock jock{“sport age storage,inc”}
stock temp{};//{ }加上匹配的内容就可以初始化语法并用于类。
6:const成员函数:
const stock land=stock (“kludgehorn properties”);
land.show();