30/09/2018, 17:21

Giải thích đoạn code về conversion operators

#include<iostream>
using std::cout;
using std::endl;
struct fraction{
	int numerator;
	int denominator;
	fraction(){
	};
	fraction(float value){
		cout << " Fraction(float value): " ;
	}
	inline operator float() const {
		return numerator *1.0f / denominator;
	}
};
void main(){
	fraction fract;
	fract.denominator = 4;
	fract.numerator = 3;
	//float x = fract.numerator *1.0f/ fract.denominator;
	float value = fract;
	fraction fract2 = value;
	cout << value << endl;
}

Giải thích hộ e đoạn fraction(float value) đoạn đấy có ý ngĩa là gì ạ!

... viết 19:36 ngày 30/09/2018

Là constructor có truyền tham số.

Hoan Sò viết 19:25 ngày 30/09/2018

vậy cho e hỏi sao e xóa float value trong struct thì nó bị lỗi và a giải thích hộ e là dòng inline cách sử dụng nó như thế nào ạ!

... viết 19:23 ngày 30/09/2018

Vì bạn đã có một constructor không có tham số rồi.

Bài liên quan
0