C++实验二 简单的类的定义与使用 本文将详细介绍C++中的类的定义与使用,包括类的构造函数、析构函数、对象的定义和成员函数的使用。 类的定义 在C++中,类是用户定义的数据类型,它可以包含多个成员变量和成员函数。类的定义使用关键字"class",后跟类名和类体。在本实验中,我们定义了一个名为"Ex"的类,包含两个私有成员变量"da"和"ch",分别表示整数和字符类型。 ```cpp class Ex{ public: Ex(int x, char c = 'c'); //声明构造函数 给 char 赋初始值 ~Ex() //析构函数 { cout <<ch<<endl; } void outdata( ){ cout <<ch<<" "<<da<<endl; } private: int da; char ch; }; ``` 构造函数 构造函数是特殊的成员函数,它的名称与类名相同,用于初始化对象的成员变量。在本实验中,我们定义了一个名为"Ex"的构造函数,它有两个参数"x"和"c",其中"c"有默认值'c'。构造函数的作用是初始化对象的成员变量"da"和"ch"。 ```cpp Ex::Ex(int x, char c):da(x), ch(c) //外部为构造函数 {cout <<da<<endl;} ``` 析构函数 析构函数是特殊的成员函数,它的名称与类名相同,用于释放对象所占用的资源。在本实验中,我们定义了一个名为"~Ex"的析构函数,它在对象销毁时被调用,输出对象的成员变量"ch"。 对象的定义 在C++中,对象是类的实例,可以通过类名和括号来定义对象。在本实验中,我们定义了两个对象"x"和"y",它们都是"Ex"类的实例。 ```cpp void main(){ Ex x(3,'a'), y(1); x.outdata(); //调用成员函数 y.outdata(); } ``` 成员函数 成员函数是类的成员,可以访问类的成员变量。在本实验中,我们定义了一个名为"outdata"的成员函数,它输出对象的成员变量"ch"和"da"。 运行结果 程序的运行结果是: ``` 3 a 1 c 1 c a ``` 构造函数和析构函数的特点 构造函数的特点是: * 函数名与类名相同 * 不能返回任意值 * 构造函数是类的共有成员函数 * 函数体可以写在类中也可以写在类外 析构函数的特点是: * 函数名与类名相同,前缀为 "~" * 函数体可以写在类中也可以写在类外 * 没有参数 * 不能重载 * 析构函数在对象生存期结束前由编译系统自动调用 构造函数和析构函数的执行顺序 构造函数的执行顺序按照其调用顺序,析构函数的执行顺序与构造函数相反。 思考题 1. Why does the program output "3 a 1 c 1 c a"? Answer: Because the constructor is called twice, once for x and once for y. The destructor is called twice, once for y and once for x. 2. What is the purpose of the line "da(x), ch(c)" in the constructor? Answer: The purpose of the line "da(x), ch(c)" is to initialize the member variables "da" and "ch" with the values x and c. 复数类的定义 下面是一个复数类的定义: ```cpp class complex{ public: complex(double r = 0, double i = 0) : re(r), im(i) {} void display(){ cout << re << " + " << im << "i" << endl; } complex add(complex a){ complex temp; temp.re = re + a.re; temp.im = im + a.im; return temp; } private: double re; double im; }; int main(){ complex c1(3, 4); complex c2(1, 2); complex c3 = c1.add(c2); c1.display(); c2.display(); c3.display(); return 0; } ``` 在上面的代码中,我们定义了一个名为"complex"的类,它包含两个私有成员变量"re"和"im",分别表示实部和虚部。我们还定义了一个构造函数,用于初始化成员变量"re"和"im"。我们还定义了一个名为"add"的成员函数,用于复数加法。我们在main函数中定义了三个复数对象"c1"、"c2"和"c3",并调用成员函数"display"输出它们的值。
- 粉丝: 1
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0