C++ Lỗi đường dẫn khi include 1 class?
Xin chào mọi người,
Mình tạo 1 class hello theo nội dung bên dưới :
hello.h
#
pragma once
#
include<
iostream>
class hello{
public:
void howareyou(){
std::cout << “How are you ?” << std::endl;
}
};
hello.cpp
// #include
<
hello.h> // BAO LOI
#
include<
C:UsersWin 8.1 VS8 X64DocumentsVisual Studio 2013ProjectsProject8Project8hello.h>
source.cpp
// #include <hello.h> // BAO LOI
#
include<
C:UsersWin 8.1 VS8 X64DocumentsVisual Studio 2013ProjectsProject8Project8hello.h>
void main(){
hello man;
man.howareyou();
system(“pause”);
}
Nếu mình để #
include <
hello.h> thì nó sẽ báo lỗi, còn để nguyên đường dẫn của file hello.h thì không sao ? Mọi người xem giúp mình. Tiện thể mình muốn hỏi về công dụng của file .h và file .cpp khi tạo class. Xin cảm ơn
bạn dùng #include “hello.h” đi, và để file .h vào thư mục header ấy…
.
bạn dùng visual 2013 file .h trong mục header… dẫn link ngoài thì để #include “hello.h” nó tìm chính xác hơn
thử sửa lại thành
#include "hello.h"
thay dấu<>
thành""
thử coi được ko?Difference between angle bracket < > and double quotes " " while including header files in C++?
đại khái là
""
tìm trong thư mục hiện tại trước rồi nếu ko thấy thì mới tìm trong thư mục các thư mục system. Còn<>
thì chỉ tìm trong thư mục system nênhello.h
để ở thư mục hiện tại nó ko tìm thấy. Để full đường dẫn thì nó thấy.Các bạn có thể giải thích giúp mình tại sao khi tạo class lại có 2 file là file .h và file .cpp không ? Và chức năng của 2 file này dùng để làm gì ? Trong đoạn code trên thì mình thấy file hello.cpp nó cứ thừa thừa sao ấy ! Cảm ơn các bạn
file .h là file định nghĩa hàm nằm trong class tên gì, có biến như nào, tham số chuyền vào ra sao… file cpp có tên trùng với file .h đó đc tạo ra là để thực hiện các định nghĩa đó… ví dụ trong file .h bạn nói 1 cộng 1 bằng 2 thì ở file .cpp kèm theo bạn sẽ phải giải thích tại sao 1 + 1 lại bằng 2…
.
cũng giống như bạn khai báo tiền sử lý trước hàm main vậy, bạn khai func trước hàm main và bạn định nghĩa cái func đấy sau hàm main cũng đc
dạng dạng vậy
.
ko biết e nói có đúng không, anh @ltd fix hộ em với
Vậy như file .h của mình là sai rồi phải ko bạn ? Nếu sai bạn có thể chỉnh để mình nhìn rõ hơn được không ? Cảm ơn bạn nhiều !
thực ra là ko sai, bạn định nghãi hàm ở file .h cũng đc ở file .cpp cũng đc, nhưng để rõ nghĩa thì phần giải thích hay thực hiện công việc mà bạn định nghĩa ở file .h sẽ đc chuyên sang file .cpp
.
bản chất vẫn giữ nguyeem, chương trình vẫn làm việc như vậy và bạn vẫn gọi cái file .h ra để dùng như bình thường chứ ko phải gọi cái file .cpp kia
bạn bê nguyên phần func trong file .h sang file .cpp giữ nguyên tên func ở file .h là đc bạn cứ nghĩ nó như kiểu khai tên func trước hàm main còn sau main chứa định nghĩa của hàm đó
test thử 1 bài tìm số chẵn lẻ xem nếu số đó là chẵn trả về 0 lẻ trả về 1