1 class
C++是一种面向对象的编程语言,需要创建一个个对象,也就是类。
如下程序所示,创建了一个体积类(volume),类包括长宽高。
而A是体积类的一个实例。
#include <iostream>
using namespace std;
class volume //创建类的格式:class 类的名称
{
public: //确定类的成员属性,如果没有定义,默认为私有的。
int length;
int width;
int height;
}; //注意这里有一个分号
void main()
{
volume A;
A.length = 1;
A.width = 2;
A.height = 3;
cout << "length = " << A.length << endl;
}
2 public与private
在定义一个类时,在类里需要定义变量与函数,在定义前需要说明属性,通过public、private、protected三个关键字申明。
如下程序所示,将public该为private,进行编译。
#include <iostream>
using namespace std;
class volume
{
private:
int length;
int width;
int height;
};
void main()
{
volume A;
A.length = 1;
A.width = 2;
A.height = 3;
cout << "length = " << A.length << endl;
}
在编译过程中,程序报错,如下图所示。
error C2248: 'length' : cannot access private member declared in class 'volume'
私有成员不能直接使用成员访问符(.)来访问。
3 using namespace std;
在学习C++时,教材上的每一个例程都包含如下语句:
using namespace std;
这里namespace为命名空间关键字,std为一个命名空间,添加这条语句后,使用cout、cin输入输出语句比较方便。
当把这条语句注释后,进行编译。
#include <iostream>
//using namespace std;
class volume
{
public:
int length;
int width;
int height;
};
void main()
{
volume A;
A.length = 1;
A.width = 2;
A.height = 3;
cout << "length = " << A.length << endl;
}
在编译过程中,程序报错,提示如下:
error C2065: 'cout' : undeclared identifier
error C2065: 'endl' : undeclared identifier
cout与endl是没有说明的关键字。解决的方法是在cout与endl前加上相应的命名空间,如下所示。
std::cout << "length = " << A.length << std::endl;
为了简便,直接在程序开头加上如下语句即可。
using namespace std;
4 cout与cin
cin是输入语句,与 >> 配合使用,如下所示。
volume A;
cin >> A.length;
cout是输出语句,与 << 配合使用,如下所示。
cout << "length = " << A.length << endl;
其中endl是换行的意思。
5 int main(int argc, char* argv[])
char* argbv[]形参解析:
首先类型为一个指针,指向字符的指针;
然后变量不是一个,而是一个数组,数组里存放的都是指向字符的指针。
如下是一个测试程序:
#include <iostream>
using namespace std;
void test(char* argv[])
{
char A[]= "hello";
char B[] = "world";
argv[0] = A; //数组名相当于一个指针
argv[1] = B;
cout << (argv[0]) << endl;
cout << (argv[1]) << endl;
}
void main()
{
char * c[2];
test(c);
}
输出结果如下:
hello
world
Press any key to continue
6 string的用法
定义string的语句如下。
string sNew;
在使用如下语句时,运行程序显示报错,内存溢出。
while(s[i] != '