Bài tập C++ có giải: Sử dụng Constructor và Copy Constructor



Bài tập Sử dụng constructor để tìm số nguyên tố

Dưới đây là chương trình C++ để giải bài tập trên. Bạn theo các bước sau:

  • Bước 1: Khai báo lớp songuyento với các thành viên dữ liệu và các hàm thành viên

  • Bước 2: Giả sử một constructor của lớp songuyento là songuyento() với tham số là số nguyên

  • Bước 3: Gọi hàm calculate() và thực hiện các bước tiếp theo

  • Bước 4: Với i=2 tới a/2, bạn thực hiện:

  • Bước 5: Kiểm tra nếu a%i==0, sau đó thiết lập k=0 và break

  • Bước 6: Nếu không, thiết lập k=1

  • Bước 7: Tăng giá trị của i thêm 1

  • Bước 8: Kiểm tra giá trị của k là 1 hay là 0

  • Bước 9: Nếu là 1 thì hiển thị rằng đó là số nguyên tố

  • Bước 10: Nếu là 0, thì hiển thị rằng giá trị đó không phải là nguyên tố

#include
#include
using namespace std;class songuyento
{
                int a,k,i;
              public:
              songuyento(int x)
              {
                            a=x;
              }
              void calculate()
              {
                 k=1;
                {
                     for(i=2;i<=a/2;i++)
                  
       if(a%i==0)
                     {
                              k=0;
                              break;
                     }
                     else
                    {
                            k=1;
                  }
                }
              }
             
void show()
              {
                if(k==1)
                  cout<< "\n\tA la so nguyen to. ";
                else
                  cout<<"\n\tA khong la so nguyen to.";
              }
};
 
int main()
{
    
    int a;
    cout<<"\n\tNhap so: ";
    cin>>a;
    songuyento obj(a);
    obj.calculate();
    obj.show();
    return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Bài tập về Constructor trong C++

Bài tập Tính giai thừa bởi sử dụng copy constructor

Dưới đây là chương trình C++ để giải bài tập trên.

#include
#include
class copy
{
              int var,fact;
              public:
 
                copy(int temp)
                {
                 var = temp;
                }
 
                double calculate()
                {
                            fact=1;
                            for(int i=1;i<=var;i++)
                            {
                            fact = fact * i;
                            }
                            return fact;                           
                }
};
int main()
{
    
    int n;
    std::cout<<"\n\tNhap so : ";
    std::cin>>n;
    copy obj(n);
    copy cpy=obj;
    std::cout<<"\n\t Giai thua cua " <

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Bài tập về Copy Constructor trong C++