Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: những thắc mắc về cấu trúc lệnh trong class

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    9

    Mặc định những thắc mắc về cấu trúc lệnh trong class

    mình có đoạn code sau:
    Code:
    #include<conio.h>
    #include<stdio.h>
    #include<iostream.h>
    #include<string.h>
    class fuzzy
    {
    	private:
    		char setname[20];
    		float measure;
    	public:
    		void nhap();
    		void xuat(fuzzy x,fuzzy y);
    };
    void fuzzy::nhap()
    {
    cout<<"nhapten:";
    gets(setname);
    cout<<("\n nhap do mo:");
    do
    {
    	cin>>measure;
    	if((measure<0)||(measure>1))
    	cout<<("\n nhap lai do mo x:");
    }
    while
    	((measure<0)||(measure>1));
    }
    void fuzzy::xuat(fuzzy x,fuzzy y)
    {
    	float and,or;
    	if(strcmp(x.setname,y.setname)==0)
    	{
    		if(x.measure>y.measure)
    		{
    			and=x.measure;
    			or=y.measure;
    		}
    		else
    		{
    			and=y.measure;
    			or=x.measure;
    		}
    		cout<<"\n not(x and y)="<<(1-and);
    		cout<<"\n not(x or y)="<<(1-or);
    	}
    	else
    	cout<<("x va y khac ten tap hop");
    }
    void main()
    {
    	fuzzy a,b,c;
    	cout<<"khai bao phan tu x:\n",a.nhap();
    	cout<<"khai bao phan tu y:\n",b.nhap();
        c.xuat(a,b);
    	getch();
    }
    trong đoạn code này có 1 vài chỗ ko hiểu. mọi người giúp mình nhé.
    1. mình hiểu như này: class fuzzy có các đối tượng là a,b,c. nhưng x, y có phải là đối tượng ko?
    void xuat(fuzzy x,fuzzy y); dòng lệnh này nghĩa là gì?
    fuzzy a,b,c; là khai báo các đối tượng trong class.
    nhưng mình thử viết fuzzy x,y; thì sẽ báo lỗi
    hoặc mình viết fuzzy a, fuzzy b, fuzzy c cũng báo lỗi. nếu cả x,y,a,b,c đều là đối tượng của class sao ko viết giống nhau dc?
    2. c.xuat(a,b); dòng lệnh này nghĩa là gì?
    và tại sao phải thêm đối tượng c? nếu mình viết
    a.xuat();
    b.xuat();
    cũng bị lỗi. mình muốn ko thếm đối tượng c mà vẫn khai báo phương thức xuất của a, b làm tn? có gì khác so vơi thêm đối tượng c?
    mong các bạn giải đáp giúp mình nhé!

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

    1)
    Là đối tượng hết.
    void xuat(fuzzy x,fuzzy y); khai báo method xuat của class fuzzy, method này có tham số là x, y và ko có giá trị trả về.
    fuzzy x,y sẽ ko báo lỗi.
    fuzzy a, fuzzy b, fuzzy c báo lỗi vì sai cú pháp C/C++

    2)
    tại sao phải thêm đối tượng c? Vì tác giả kém.
    c.xuat(a,b) gọi method xuat của đối tượng c, với tham số là a và b
    a.xuat(); b.xuat(); bị lỗi vì xuat cần 2 tham số


    PS
    Code hơi tệ, mà hình như cũng ko phải của bác. Bác nên về học lại cơ bản từ đầu đến cuối sẽ dễ hiểu hơn và hiểu chắc hơn, và dẹp ko nên xem cái code trên nữa.

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    9

    bài này là mình làm. nhưng có ng sửa cho phần xuất cho và phải khai thêm đối tượng c.giờ mình ko muốn thêm đối tượng mà vẫn xuất dc, bạn có cách ko? . t cũng hiểu rồi. nhưng t sửa là fuzzyx,y sẽ báo lỗi. thanks bạn nhé.

  4. #4
    Ngày gia nhập
    01 2009
    Bài viết
    165

    chỉ có 1 cách viết lại hàm nhap sao cho chi truyền vào hàm 1 tham số duy nhất và chính là cái muốn xuất.

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

  1. Chỉnh sửa cấu trúc class library
    Gửi bởi Riku trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 22-04-2013, 10:12 PM
  2. Điểm khác nhau giữa Cấu trúc và class trong CSharp
    Gửi bởi cSharp trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 9
    Bài viết cuối: 31-07-2011, 12:51 AM
  3. Cấu trúc các class của MFC
    Gửi bởi nocreate trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 24-06-2010, 08:38 AM
  4. Cấu trúc một chương trình class
    Gửi bởi chankx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 07-04-2009, 01:27 PM
  5. Lập trình C++ | Ép kiểu dữ liệu cấu trúc và class trong C++
    Gửi bởi thaothao trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 8
    Bài viết cuối: 22-06-2007, 12:25 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