Tôi tự hỏi liệu có thể thêm các phương thức trong chương trình chính vào một lớp hiện có được xác định trong tệp tiêu đề hay không. Ví dụ: Có class CFun
định nghĩa trong file CFun.hpp
, nhưng trong party.cpp
chúng tôi muốn thêm một phương pháp void hello() {cout << "hello" << endl;};
mà không cần chỉnh sửa CFun.hpp
C++ thêm phương thức vào lớp được xác định trong tệp tiêu đề
Rõ ràng (không may) xây dựng:
#include "CFun.hpp"
class CFun
{
public:
void hello() {cout << "hello" << endl;};
};
không hoạt động trở lại một lỗi Multiple declaration for 'CFun'
Có thể làm cho nó hoạt động mà không cần thừa kế lớp không?
bạn nên nói cho anh ta những chức năng cần phải được trong không gian tên tương tự như lớp. nếu không chỉ cần gọi Hello (some_cfun); sẽ không tìm thấy Hello. bạn sẽ phải viết foo :: Hello (some_cfun); sau đó (ADT sẽ không hoạt động sau đó) –