Cin与Cout
***************************************************************
1.cout语句的一般格式为:
cout<<表达式1<<表达式2<<……<<表达式n;
cin语句的一般格式为:
cin>>变量1>>变量2>>……>>变量n;
2.一个cout语句可以分写成若干行?如
cout<<"This is a simple C++ program."<<endl;
可以写成
cout<<"This is " //注意行末尾无分号
<<"a C++ "
<<"program."
<<endl; //语句最后有分号
也可写成多个cout语句,即
cout<<"This is "; //语句末尾有分号
cout <<"a C++ ";
cout <<"program.";
cout<<endl;
以上3种情况的输出均为
This is a simple C++ program.
@与cout类似,一个cin语句可以分写成若干行?如
cin>>a>>b>>c>>d;
可以写成
cin>>a //注意行末尾无分号
>>b //这样写可能看起来清晰些
>>c
>>d;
也可以写成
cin>>a;
cin>>b;
cin>>c;
cin>>d;
以上3种情况均可以从键盘输入: 1 2 3 4 ↙
*****************************************************************
导出函数__declspec(dllexport)
*****************************************************************
1.这个函数要被包含它的程序之外的程序调用。
2.在制作DLL导出函数时由于C++存在函数重载,
@不同的编译器decorate的方法不同
@extern"C"修饰的函数,就不具备重载能力
********************************************************************
__declspec(dllimport),函数的导入
*******************************************************************
1.dllimport声明该函数是一个导入函数,需要从外部模块导入。
*****************************************************************
namespace的用法
*****************************************************************
1.命名空间就是为解决C++中的变量、函数的命名冲突而服务的
例如:
#include <iostream>
#include <string>
using namespace std;
//using namespace编译指示,使在C++标准类库中定义的名字在
本程序中可以使用
//否则,iostream,string 等c++标准类就不可见了,编译就会出错。
//两个在不同命名空间中定义的名字相同的变量
2.在一个头文件中写:
namespace 命名空间名称
{
你的变量;
}
***************************************************************
类名 类名::函数名(类名 &a)
****************************************************************
1.表示在类外定义一个函数。
第一个类名表示函数的返回类型。
第二个类名作为作用域,表示函数在这个类里声明。
第三个类名结合&表示参数类型,即该类的引用。
2.::是C++里的“作用域运算符”
3.比如声明了一个类A,类A里声明了一个成员函数void f(),
但没有在类的声明里给出f的定义,那么在类外定义f时,
就要写成void A::f(),表示这个f()函数是类A的成员函数。
例如
@(.h)文件中
namespace zdd
{
//导出类
class DLL_API SimpleDll
{
public:
SimpleDll();
~SimpleDll();
int add(int x, int y); //简单方法
};
}
@@(.c)文件中
int SimpleDll::add(int x, int y)
{
return x+y;
}
4.
*************************************************************
析构函数
*************************************************************
1.析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,
例如~stud( ),以区别于构造函数。它不能带任何参数,
也没有返回值(包括void类型)。只能有一个析构函数,不能重载。
2.构造函数的作用:用于新建对象的初始化工作。
析构函数的作用:用于在撤销对象前,
完成一些清理工作,比如:释放内存等。
3.注意,构造函数和析构函数不能指定任何返回值类型,
包括void返回类型; ”
***************************************************************
1.cout语句的一般格式为:
cout<<表达式1<<表达式2<<……<<表达式n;
cin语句的一般格式为:
cin>>变量1>>变量2>>……>>变量n;
2.一个cout语句可以分写成若干行?如
cout<<"This is a simple C++ program."<<endl;
可以写成
cout<<"This is " //注意行末尾无分号
<<"a C++ "
<<"program."
<<endl; //语句最后有分号
也可写成多个cout语句,即
cout<<"This is "; //语句末尾有分号
cout <<"a C++ ";
cout <<"program.";
cout<<endl;
以上3种情况的输出均为
This is a simple C++ program.
@与cout类似,一个cin语句可以分写成若干行?如
cin>>a>>b>>c>>d;
可以写成
cin>>a //注意行末尾无分号
>>b //这样写可能看起来清晰些
>>c
>>d;
也可以写成
cin>>a;
cin>>b;
cin>>c;
cin>>d;
以上3种情况均可以从键盘输入: 1 2 3 4 ↙
*****************************************************************
导出函数__declspec(dllexport)
*****************************************************************
1.这个函数要被包含它的程序之外的程序调用。
2.在制作DLL导出函数时由于C++存在函数重载,
@不同的编译器decorate的方法不同
@extern"C"修饰的函数,就不具备重载能力
********************************************************************
__declspec(dllimport),函数的导入
*******************************************************************
1.dllimport声明该函数是一个导入函数,需要从外部模块导入。
*****************************************************************
namespace的用法
*****************************************************************
1.命名空间就是为解决C++中的变量、函数的命名冲突而服务的
例如:
#include <iostream>
#include <string>
using namespace std;
//using namespace编译指示,使在C++标准类库中定义的名字在
本程序中可以使用
//否则,iostream,string 等c++标准类就不可见了,编译就会出错。
//两个在不同命名空间中定义的名字相同的变量
2.在一个头文件中写:
namespace 命名空间名称
{
你的变量;
}
***************************************************************
类名 类名::函数名(类名 &a)
****************************************************************
1.表示在类外定义一个函数。
第一个类名表示函数的返回类型。
第二个类名作为作用域,表示函数在这个类里声明。
第三个类名结合&表示参数类型,即该类的引用。
2.::是C++里的“作用域运算符”
3.比如声明了一个类A,类A里声明了一个成员函数void f(),
但没有在类的声明里给出f的定义,那么在类外定义f时,
就要写成void A::f(),表示这个f()函数是类A的成员函数。
例如
@(.h)文件中
namespace zdd
{
//导出类
class DLL_API SimpleDll
{
public:
SimpleDll();
~SimpleDll();
int add(int x, int y); //简单方法
};
}
@@(.c)文件中
int SimpleDll::add(int x, int y)
{
return x+y;
}
4.
*************************************************************
析构函数
*************************************************************
1.析构函数名也应与类名相同,只是在函数名前面加一个位取反符~,
例如~stud( ),以区别于构造函数。它不能带任何参数,
也没有返回值(包括void类型)。只能有一个析构函数,不能重载。
2.构造函数的作用:用于新建对象的初始化工作。
析构函数的作用:用于在撤销对象前,
完成一些清理工作,比如:释放内存等。
3.注意,构造函数和析构函数不能指定任何返回值类型,
包括void返回类型; ”