Tôi tìm thấy tính năng kế thừa hàm tạo trong C++ 11 khá hữu ích. Tuy nhiên, tôi thấy cú pháp hơi lạ. Ví dụ bên dưới hoạt động tốt, nhưng tôi không hiểu tại sao tôi cần chỉ định using sysTrajectory::sysTrajectory
như trái ngược với using sysTrajectory<Real>::sysTrajectory<Real>
khi kế thừa từ một lớp mẫu? Lỗi sau cung cấp lỗi sau: dự kiến ‘;’ trước mã thông báo ‘<’ sử dụng sysTrajectory :: sysTrajectory ;. Có thể có bất kỳ vấn đề tiềm năng nào khi kế thừa các hàm tạo từ một mẫu lớp?C++ 11 kế thừa các hàm tạo mẫu
class sysRealTrajectory: public sysTrajectory<Real>
{
public:
/**
* Default constructor
*/
inline sysRealTrajectory(void);
using sysTrajectory::sysTrajectory;
/**
* Default destructor
*/
inline ~sysRealTrajectory(void);
};
chính:
Real a;
a=5;
sysTrajectoryPoint<Real> TP0(1.0,a);
sysRealTrajectory Trajectory(TP0);
Cảm ơn bạn đã giải thích. – user1391279