学校的习题

写出下面程序的运行结果。

#include<iostream>        

    using  namespace  std;

    class  example

    {

        public:

            example(int  n)

            {   i=n;

                cout<<"Constructing\n";

            }

            ~example()  

            {  cout  <<"Destructing\n";    

            }

            int  get_i()  

            {    return  i;  

            }

        private:

            int  i;

    };

    int  sqr_it(example  o)

    {   return  o.get_i()*  o.get_i();

    }

    int  main()

    {   example  x(10);

        cout<<x.get_i()<<endl;

        cout<<sqr_it(x)<<endl;

        return  0;

    }

Constructing

10

100

Destructing

Destructing​

 #include<iostream>        

    using  namespace  std;

    class  aClass

    {  

        public:

            aClass()

            {   total++;}

            ~aClass()

            {   total--;}

                int  gettotal()

                {   return  total;}

        private:

            static  int  total;

    };

    int  aClass::total=0;

    int  main()

    {   aClass  o1,o2,o3;

        cout<<o1.gettotal()<<"  objects  in  existence\n";

        aClass  *p;

        p=new  aClass;  

        if  (!p)

        {   cout<<"Allocation  error\n";

            return  1;

        }

        cout<<o1.gettotal();

        cout<<"  objects  in  existence  after  allocation\n";

        delete  p;

        cout<<o1.gettotal();

        cout<<"  objects  in  existence  after  deletion\n";

        return  0;

    }

3 objects in existence

4 objects in existence after allocation

3 objects in existence after deletion

    #include<iostream>        

    using  namespace  std;

    class  test

    {  

        public:

           test()  ;  

           ~test(){  };  

        private:

           int  i;    };

    test::test()

    {   i = 25;

        cout<<"Here's  the  program  output.  \n";

        cout<<"Let′s  generate  some  stuff...\n";

        for  (int  ctr=0;  ctr<10;  ctr++)

        {   cout<<"Counting  at  "<<ctr<<"\n";

        }

    }

    test  anObject;

    int  main()

    {   return  0;

    }

Here's the program output.

Let′s generate some stuff…

​Counting at 0

Counting at 1

Counting at 2

Counting at 3

Counting at 4

Counting at 5

Counting at 6

Counting at 7

Counting at 8

Counting at 9

 #include<iostream>        

    using  namespace  std;

    class  R{

        public:

            R(int  r1,int  r2)

            {   R1=r1;

                R2=r2;

            }

            void  print();  

            void  print()    const;

        private:

            int  R1,R2;

    };

    void  R::print()

    {  cout<<R1<<","<<R2<<endl;

    }

    void  R::print()  const

    {   cout<<R1<<","<<R2<<endl;

    }

    int  main()

    {   R  a(6,8);

        const  R  b(56,88);

        b.print();

        return  0;

    }

56,88

  #include<iostream>        

    using  namespace  std;

    class  Sample{

        public:

            Sample(  int  i,int  j)

           {   x=i;

               y=j;

            }

            void  disp()  

            {   cout<<"disp1"<<endl;

            }

            void  disp()  const

            {   cout<<"disp2"<<endl;

            }

        private:

            int  x,y;

    };

    int  main()

    {   const  Sample  a(1,2);

        a.disp();

        return  0;

    }

disp2

    #include<iostream>        

    using  namespace  std;

    class  A{

        public:

            void    set(int  i,int  j)

            {   x=i;

                y=j;

            }

            int    get_y()

            {   return  y;

            }

        private:

            int  x,y;

    };

    class  box{

        private:

            int  length,width;

            A  label;

        public:

            void  set(int  l,int  w,int  s,int  p)

            {   length=l;

                width=w;

                label.set(s,p);

            }

            int  get_area()

            {   return  length*width;

            }

    };

    int  main()

    {   box  b;

        b.set(4,6,1,20);

        cout<<b.get_area()<<endl;

        return  0;

    }

24

#include<iostream>        

    using  namespace  std;

    class  B  {

        public:

            B(){}

            B(int  i,int  j)

            {   x=i;

                y=j;

            }

            void  printb()

            {  cout<<x<<","<<y<<endl;

            }

        private:

            int  x,y;

    };

    class  A{

        public:

            A()

            {  }

            A(int  i,int  j);

            void  printa();

        private:

            B  c;

    };

    A::A(int  i,int  j):c(i,j)

    {  }

    void  A::printa()

    {   c.printb();

    }

    int  main()

    {   A  a(7,8);

        a.printa();

        return  0;

    }

7,8


#include <iostream>

using namespace std;

class B1{

 public:

B1(int i)

{ b1=i;cout<<"Constructor B1. "<<endl; }

void Print()

{ cout<<b1<<endl;}

private:

int b1;

};

class B2 {

public:

B2 (int i)

{ b2=i; cout<<"Constructor B2. "<<endl;}

void Print()

{ cout<<b2<<endl;}

private:

int b2;

};

class A: public B2, public B1

{

public:

A(int i,int j,int l);

void  Print();

private:

int a;

};

A::A(int i,int j,int l):B1(i), B2(j)

{ a=l; cout<<"Constructor A. "<<endl;}

void A:: Print()

{B1:: Print();

B2:: Print();

cout<<a<<endl;

}

int main()

{A aa(3,2,1);

aa. Print();

return 0;

}

Constructor B2.

Constructor B1.

Constructor A.

3

2

1

#include<iostream>

using namespace std;

class A{

private:

int a;

public:

A()

{a=0;}

A(int i)

{a=1;}

void Print()

{cout<<a<<",";}

};

class B: public A

{

private:

int b1, b2;

public:

B()

{b1=0;b2=0;}

B(int i)

{b1=i;b2=0;}

B(int i, int j,int k): A(i), b1(j),b2(k)

{}

void Print()

{A:: Print();

cout<<b1<<","<<b2<<endl;

}

};

int main()

{ B ob1,ob2(1),ob3(3,6,9);

ob1.Print();

ob2.Print();

ob3.Print();

return 0;

}


0,0,0
0,1,0
1,6,9


#include <iostream>
using namespace std;
class shapes {
	protected:
		int x, y;
	public:
		void setvalue(int d, int w = 0) {
			x = d;
			y = w;
		}
		virtual void disp() = 0;

};

class square: public shapes {
	public:
		void disp() {
			cout << x *y << endl;
		}
};

int main() {
	shapes *ptr;
	square s1;
	ptr = &s1;
	ptr->setvalue(10, 5);
	ptr->disp();
	return 0;
}

50

#include <iostream>
using namespace std;

class Stock {
	public:
		virtual void print() {
			cout << "Stock class.\n";
		}
};

class Der1_Stock: public Stock {
	public:
		void print() {
			cout << "Der1_Stock class.\n";
		}
};

class Der2_Stock: public Stock {
	public:
		void print() {
			cout << "Der2_Stock class.\n";
		}
};

int main() {
	Stock s1;
	Stock *ptr;
	Der1_Stock d1;
	Der2_Stock d2;
	ptr = &s1;
	ptr->print();
	ptr = &d1;
	ptr->print();
	ptr = &d2;
	ptr->print();
	return 0;
};

Stock class.
Der1_Stock class.
Der2_Stock class


 #include <iostream>
using namespace std ;
class Array{
   public :
      Array(int);
      int& operator ()(int);                 //重载运算符()
   private :
      int *m ;
      int x ;
} ;
Array :: Array(int x)
{  this->x=x ;
  m=new int[x] ;
  for(int i=0;i<x;i++)
     *(m+i)=i;
}
int& Array :: operator() (int x1)
{  return(*(m+x1)) ; }
int main ()
{  Array a(10) ;
   cout<<a(5) ;
   a(5) =7 ;
   cout<<a(5) ;
return 0 ;
}

57

#include <iostream>

using namespace std;

class A {

	public :

		A(int i) : x(i)

		{  }

		A ()

		{
			x = 0 ;
		}

		friend A operator++(A a) ;

		friend A operator--(A &a) ;

		void print () ;

	private :

		int x ;

} ;

A operator++(A a)

{
	++a.x;

	return a ;

}

A operator--(A &a)

{
	--a.x ;

	return a;

}

void A::print()

{
	cout << x << endl;
}

int main()

{
	A a(7) ;

	++a;

	a.print() ;

	--a ;

	a.print() ;

	return 0 ;

}

7
6

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值