C语言作业(2)

2019-04-22 07:57

private:

int m; // 分母 };

(5)定义一个类包含一个整型数的指针变量,在构造函数中用new分配10各整型数的内存空间,在析构函数中用delete释放内存空间,并编写给内存空间赋值和输出函数。

(6)编写类String 的构造函数、析构函数

已知类String 的原型为: class String {

public:

String(const char *str = NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数 ~ String(void); // 析构函数 private:

char *m_data; // 用于保存字符串 };

请编写String 的上述3 个函数。并编写一个主函数,在主函数中对所编写的成员函数进行测试。

(7)定义和实现类Array。数据成员有包含了10个元素的数组,成员函数GetData,有一个整形数参数i,函数返回下标为i的元素值,对一个数组元素的引用,成员函数Print打印出数组的值。构造函数将数据成员的所有数组元素初始化为0。还有一个input成员函数为数组赋值。

(8) 定义类Point.要求定义类对象时,可以有这样的定义语句: Point p1(1,2),p2(p1); #include class Point { public: Point (int a, int b)

{

x=a;y=b; }

void fun (Point &p); void fun (Point * p);

private:

int n; // 分子

int x,y; };

void fun (Point &p) {

x=p.x ; y=p.y ;

cout<< \}

void Point:: fun (Point *p) {

x=p->x ; y=p->y ;

cout<< \ }

Void main() {

Point p(1,2),q(3,4) ; p.fun(q) ; q.fun(&q) ; }

改正程序中小的错误,给出程序运行的结果,并对程序进行分析。

3、思考题:

结合编程实践回答下列的问题。 (1) (2) (3)

结合第一个例子,说明什么是类?什么是对象?你是如何理解类和对象的? 面向对象的程序设计与结构化程序设计有何不同? 拷贝构造函数那些情况下会被调用,分别给出例子?

实验3 this指针、常量和静态成员和友元函数的使用

1、

实验目的和要求:

(1) 掌握显式使用this指针的方法 (2) 掌握静态数据成员的意义及使用方法

(3) 掌握常量数据成员和常量成员函数的意义和使用方法 (4) 掌握友元函数和友元类的使用方法

2、 实验内容:

(1)有如下类的定义。类成员函数copy用于实现两个对象的相互拷贝,请完成该函数的实现。(有两种方法即不用this 指针和用this指针)

#include class Myclass {public:

Myclass (int a,int b) { x=a;y=b;} Void copy(Myclass & my); void print( )

{ cout<<“x=”<

void main()

{ Myclass my(10,20),t(30,40); my.print( );

my. Copy(t); my.print( ); }

(2)设计一个类,实现两个复数的四则运算。实现加减乘除功能的函数用友元函数实现。

(3)分析下面程序,给出横线部分的语句,并分析程序的输出,和m_count的功能。 #include using namespace std; class A {

static int m_counter; public: A(); ~A(); static void display();

}

—————————— //将m_counter初始化为0; A::A() { m_counter++; }

A::~A() {

m_counter--; }

void A::display() { cout<<”There are:”<

int main() { A a1; A a2; A a3;

A::display(); a1.display(); }

(4)商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,单价不一样,因此商店需要记录下目前库存的货物的总重量和总价值。编写一个程序,通过定义类Carlo来模拟商店货物购进和卖出的情况。

(本题目主要练习静态数据成员的使用,定义私有变量存每件货物的价格和重量,用静态数据成员存货物的总重量和总价钱,定义构造函数和析构函数,当定义新的对象完成初始化的功能和删除对象时,从总重量和总价钱中减去对象的重量和价格) (5) 静态成员练习

1)。编写一个类Node,声明一个数据成员member和已经静态成员count,另构造函数初始化数据成员,并把静态数据成员加1,另析构函数把静态数据成员减1。

2)。在1)的基础上编写应用程序,创建3个对象,然后显示他们的数据成员和静态成员,再析构每个对象,并显示他们对静态数据成员的影响。

3)。修改2),让静态成员函数访问静态数据成员,并让静态数据成员是私有的。

(6)个类分别为整型数集合类和实型数集合数类。将缺少的内容补齐。并完成要求的其它内容。

如: class Intset { private:

int num[3]; public:

Intset ( int x,int y, int z) {//添加初始化内容} void print( ) { //打印数据} };

class floatset { private:

float num[3]; public:

floatset ( float x,float y, float z) {

//添加初始化内容 }

void print( ) { //打印数据 } };


C语言作业(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新《济宁市建设工程质量“运河杯”奖评选办法》

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: