Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 5 của 5
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Nó báo lỗi 3 cái biến đối tượng là undeclared identifier với unknown override specifier với mấy lỗi kéo theo khác
    Em cũng sửa cái constructor mãi mà không được ((

    - - - Nội dung đã được cập nhật ngày 04-03-2016 lúc 01:41 PM - - -

    Trích dẫn Gửi bởi LQR_LQR
    - Lớp Diem bạn nên khai báo trước lớp TamGiac.
    - Bạn thử xem lại hàm tạo của lớp TamGiac và Diem.
    - Mà bạn dùng hàm sqrt và pow mà không thêm thư viện math.h
    Ồ thanks bác em build lại được rồi, em tưởng để 2 class thế nào cũng được. [IMG]images/smilies/smile.png[/IMG]))

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Sau khi sửa lỗi code xong thì nên tìm cách cải tiến thiết kế.
    Nên có 1 hàm tính khoảng cách giữa 2 điểm. Hàm này nên là một hàm public của lớp Diem thì tốt nhất.
    Tức là một đối tượng Diem có thể tính được khoảng cách từ nó đến một đối tượng Diem khác.
    Cũng có thể tạo một hàm static để tính khoảng cách giữa 2 đối tượng Diem, nhưng không cần thiết lắm.

    Trong lớp TamGiac, các thuộc tính canhA, B, C khong cần thiết. Bởi vì chúng phụ thuộc vào giá tị của các thuộc tính Diem, và nếu Diem có hàm tính như trên thì bất cứ lúc nào cũng có thể tính được.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Cần giúp về lập trình hướng đối tượng C++

    Đề bài : Nhâp lớp Tamgiac là lớp bao và tạo ra lớp Điểm được khai báo trong lớp Tam giác. Yêu cầu nhập vào 3 điểm, sau đó xuất độ dài 3 cạnh, chu vi và diện tích.
    Code của em:
    Mã:
    #include<iostream>
    using namespace std;
    class TamGiac
    {
    private:
    	float canhA, canhB, canhC;
    	Diem p1;
    	Diem p2;
    	Diem p3;
    public:
    	TamGiac(int xp1 = 1, int yp1 = 2, int xp2 = 3, int yp2 = 4, int xp3 = 5, int yp3 = 6) : p1(xp1, yp1), p2(xp2, yp2), p3(xp3, yp3)
    	{}
    	void Nhapdiem();
    	void Thongtin();
    	float Chuvi();
    	float Dientich();
    };
    class Diem
    {
    private:
    	int x, y;
    public:
    	Diem(int xx=0, int yy=0) { xx = x; yy = y; }
    	void Nhap();
    	int Tungdo();
    	int Hoanhdo();
    };
    void Diem::Nhap()
    {
    	cout << "Hoanh do: ";
    	cin >> x;
    	cout << "Tung do: ";
    	cin >> y;
    }
    int Diem::Hoanhdo()//goi hoanh do
    {
    	return x;
    }
    int Diem::Tungdo()//goi tung do
    {
    	return y;
    }
    void TamGiac::Nhapdiem() //Nhap thong tin 3 dinh tam giac
    {
    	cout << "Nhap dinh 1: ";
    	p1.Nhap();
    	cout << "Nhap dinh 2: ";
    	p2.Nhap();
    	cout << "Nhap dinh 3: ";
    	p3.Nhap();
    }
    void TamGiac::Thongtin()
    {
    	canhA = float(sqrt(pow(p1.Hoanhdo() - p2.Hoanhdo(), 2) + pow(p1.Tungdo() - p2.Tungdo(), 2)));
    	canhB = float(sqrt(pow(p2.Hoanhdo() - p3.Hoanhdo(), 2) + pow(p2.Tungdo() - p3.Tungdo(), 2)));
    	canhC = float(sqrt(pow(p1.Hoanhdo() - p3.Hoanhdo(), 2) + pow(p1.Tungdo() - p3.Tungdo(), 2)));
    	cout << "chieu dai canh 1: " << canhA;
    	cout << "chieu dai canh 2: " << canhB;
    	cout << "chieu dai canh 3: " << canhC;
    	cout << "Chu vi: " << Chuvi();
    	cout << "Dien tich: " << Dientich();
    }
    float TamGiac::Chuvi()
    {
    	float CV = canhA + canhB + canhC;
    	return CV;
    }
    float TamGiac::Dientich()
    {
    	float DT, p;
    	p = Chuvi() / 2;
    	DT = sqrt(p*(p - canhA)*(p - canhB)*(p*canhC));
    	return DT;
    }
    int main()
    {
    	TamGiac tamgiac;
    	tamgiac.Nhapdiem();
    	tamgiac.Thongtin();
        return 0;
    }
    Debug mãi nó vẫn báo lỗi [IMG]images/smilies/thinking.gif[/IMG][IMG]images/smilies/thinking.gif[/IMG]. Có ai giúp em sai chỗ nào không, vì em mới học hướng đối tượng nên có nhiều cái vẫn chưa biết. Mong được chỉ giáo

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    báo lỗi gì?

    Mã:
    private:
    	int x, y;
    public:
    	Diem(int xx=0, int yy=0) { xx = x; yy = y; }
    có phải lỗi ở đây ko? x = xx, y = yy mới đúng chứ

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    - Lớp Diem bạn nên khai báo trước lớp TamGiac.
    - Bạn thử xem lại hàm tạo của lớp TamGiac và Diem.
    - Mà bạn dùng hàm sqrt và pow mà không thêm thư viện math.h

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •