Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 12 kết quả

Đề tài: Lập trình C++ | Xây dựng lớp kế thừa hình chữ nhật bị lỗi.. help

  1. #1
    Ngày gia nhập
    04 2008
    Bài viết
    35

    Mặc định Lập trình C++ | Xây dựng lớp kế thừa hình chữ nhật bị lỗi.. help

    Code:
    #include <iostream.h>
    #include <conio.h>
    #include <math.h>
    #include <stdlib.h>
    
    class chieu
    {
    	 private:
     		float chieudai;
    		float chieurong;
    
    	public:
    		chieu()
    			{
    				chieudai = 0;
    				chieurong = 0;
    
    			};
    		chieu(float a,float b)
    			{
    				chieudai = a;
                chieurong = b;
      			};
    
    	void setchieudai(float cd);
    	     float getchieudai();
    	void setchieurong(float cr);
            float getchieurong();
    
    	void setchieu(chieu j);
    	    float KC(chieu k)const;
    	void show()const;
    };
    
    void chieu::setchieudai(float cd)
    	{
    		chieudai = cd;
    	};
    
    	float chieu::getchieudai()
    		{
    			return chieudai;
    		};
    
    void chieu::setchieurong(float cr)
    	{
    		chieurong = cr;
       };
    
    	float chieu::getchieurong()
    		{
    			return chieurong;
    		};
    
    
    void chieu::setchieu(chieu j)
    	{
    		chieudai = j.chieudai;
    		chieurong = j.chieurong;
    
    	};
    
    //-----------------------------------------------------
    
    class hinhchunhat : public chieu
    {
    	private:
    		chieu chieudai;
          chieu chieurong;
    
    	public:
    	hinhchunhat()
    	{
    		chieudai.setchieudai(0);
          chieurong.setchieurong(0);
    
    	 }
    
    	float tinhdientich();
    	float tinhchuvi();
    	void htht()const;
    };
    
    float tinhdientich()
    	{
             return chieudai*chieurong;
    
       }
    float tinhchuvi()
       {
            return 2*(chieudai + chieurong);
    
       }
    
    void main()
    {
    
    hinhchunhat a;
         chieu b;
    	float t;
       char chon;
       do
       {
    		float chieudai,chieurong;
    		cout<<"nhap chieu dai: ";
    		cin>>chieudai;
    		b.setchieudai(chieudai);
    		cout<<"nhap chieu rong: ";
    		cin>>chieurong;
    		b.setchieurong(chieurong);
    
    		system("cls");
    		cout<<"\nDien tich hcn:s "<<a.tinhdientich()<<endl;
    		cout<<"chu vi hcn la: "<<a.tinhchuvi();
          cout<<"\nBan co muon nhap tiep khong: ";
          cin>>chon;
          system("cls");
       }while(chon =='y');
    }
    Nó báo lỗi Undefined chieudai và chieurong ở đây
    Code:
    float tinhdientich()
    	{
             return chieudai*chieurong;
       }
    float tinhchuvi()
       {
            return 2*(chieudai + chieurong);
       }
    Ai sửa giúp mình cái

  2. #2
    Ngày gia nhập
    02 2009
    Bài viết
    34

    Code:
    float tinhdientich()
    	{
             return chieudai*chieurong;
       }
    float tinhchuvi()
       {
            return 2*(chieudai + chieurong);
       }
    cái này thuộc lớp nào vậy bạn?

  3. #3
    Ngày gia nhập
    04 2008
    Bài viết
    35

    cái này thuộc class chieu

  4. #4
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Class chieu thì bạn phải khai báo class chiều cho nó.
    C++ Code:
    1. float chieu::tinhdientich()
    2.     {
    3.          return chieudai*chieurong;
    4.    }
    5. float chieu::tinhchuvi()
    6.    {
    7.         return 2*(chieudai + chieurong);
    8.    }
    ghi thêm 2 hàm này trong class chieu nữa
    C++ Code:
    1. for(;;){cout<<"Busy"<<endl;}
    2. system("cls");
    Hãy ủng hộ cho quỹ phát triển cộng đồng C Việt
    http://congdongcviet.com/quyphattrien-congdongcviet.cpp

  5. #5
    Ngày gia nhập
    04 2008
    Bài viết
    35

    nó vẫn báo lỗi ở đấy . pác nào sửa em cái . mới làm quen với hướng đối tượng mà

  6. #6
    Ngày gia nhập
    04 2008
    Nơi ở
    HCMC
    Bài viết
    251

    Mặc định Lập trình C++ | Xây dựng lớp kế thừa hình chữ nhật bị lỗi.. help

    Nhìn lại mới thấy,hai phương thức tinhdientich(),tinhchuvi() này là của class hinhchunhat chứ.
    Bài của bạn còn 1 số lỗi nữa. Bạn nên phân tích lại đề để khai báo dữ liệu cho phù hợp
    C++ Code:
    1. for(;;){cout<<"Busy"<<endl;}
    2. system("cls");
    Hãy ủng hộ cho quỹ phát triển cộng đồng C Việt
    http://congdongcviet.com/quyphattrien-congdongcviet.cpp

  7. #7
    Ngày gia nhập
    04 2008
    Bài viết
    35

    sặc sặc sặc
    hai phương thức tinhdientich(),tinhchuvi() là của class hinhchunhat còn chieudai và chieurong là thuộc class chieu . bản chất nó là vậy chứ có ai nói gì đâu.

    nhưng ở lớp hinhchunhat tớ đã cho kế thừa từ lớp chieu rồi mà

    Code:
    class hinhchunhat : public chieu
    {
    	private:
    		chieu chieudai;
          chieu chieurong;
    
    	public:
    	hinhchunhat()
    	{
    		chieudai.setchieudai(0);
                   chieurong.setchieurong(0);
          }
    rồi mà . vẫn không hiểu hướng đối tượng cho lắm

  8. #8
    Ngày gia nhập
    04 2008
    Bài viết
    35

    không ai sửa giúp mình àh

  9. #9
    Ngày gia nhập
    04 2007
    Bài viết
    134

    Có thể ý tưởng của bạn sai rồi, hoặc có thể mình ko hiểu:
    Class chieu là gì? Tại sao hinhchunhat kế thừa từ chiều? Tại sao hinhchunhat chứa 2 biến chiều?

  10. #10
    Ngày gia nhập
    04 2008
    Bài viết
    35

    Đề bài là : xây dựng lớp kế thừa hình chữ nhật

Các đề tài tương tự

  1. Sửa máy tính, cài đặt windows, phần mềm tại nhà nhanh nhất, rẻ nhất, hiệu quả nhất …
    Gửi bởi hopluccc trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 08-07-2013, 02:07 PM
  2. Trả lời: 12
    Bài viết cuối: 25-10-2012, 02:48 AM
  3. Bài tập C++ NHập mảng một chiều gồm n phần tử kết thúc nhập khi nhập một chữ cái
    Gửi bởi thienthanoze trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 15
    Bài viết cuối: 09-07-2012, 10:10 PM
  4. Bài tập C++ Viết phương trình nhập vào 1 chuỗi số.Hãy nhập vào 1 số.Đếm xem có bao nhiêu chữ số bạn vừa nhập
    Gửi bởi namtuocdn trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 16-10-2011, 10:39 AM
  5. Bài tập C++ Nhập mảng 1 chiều, nếu phần tử nhập trùng nhau thì bắt nhập lại
    Gửi bởi danielh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 09-07-2011, 03:35 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn