stanford-oval/wikipedia huggingface dataset:
Peptide giống Glucagon-1

GLP-1 và bệnh tiểu đường
Peptide giống Glucagon-1 (GLP-1) là một hoocmon peptide dài 30 hoặc 31 amino acid có nguồn gốc từ quá trình xử lý sau chuyển thể đặc hiệu mô của peptide proglucagon. Nó được sản xuất và tiết ra bởi các tế bào L enteroendocrine ruột và một số tế bào thần kinh nhất định trong nhân của đường đơn độc trong não khi tiêu thụ thực phẩm. Các sản phẩm ban đầu GLP-1 (1-37) là nhạy cảm với amin hoá và sự phân tách phân giải protein mà làm phát sinh hai hình thức hoạt tính sinh học cắt ngắn và equipotent, GLP-1 (7-36) amide và GLP-1 (7-37). Hoạt động GLP-1 kết hợp hai chuỗi xoắn từ vị trí amino acid 13-20 và 24-35 được phân tách bằng một vùng liên kết.
Bên cạnh peptide insulinotropic phụ thuộc glucose (GIP), GLP-1 là một incretin; do đó, nó có khả năng làm giảm lượng đường trong máu theo cách phụ thuộc glucose bằng cách tăng cường tiết insulin. Bên cạnh các tác dụng insulinotropic, GLP-1 có liên quan đến nhiều tác dụng điều tiết và bảo vệ. Không giống như GIP, hoạt động của GLP-1 được bảo tồn ở bệnh nhân tiểu đường loại 2 và do đó nghiên cứu dược phẩm đáng kể đã được hướng tới sự phát triển của điều trị dựa trên GLP-1.
Tuy nhiên, GLP-1 nội sinh bị suy giảm nhanh chóng chủ yếu bởi dipeptidyl peptidase-4 (DPP-4), nhưng cũng là endopeptidase trung tính 24.11 (NEP 24.11) và thanh thải thận, dẫn đến thời gian bán hủy khoảng 2 phút. Do đó, chỉ 10 đến 15% GLP-1 đạt được lưu thông nguyên vẹn, dẫn đến mức huyết tương lúc đói chỉ 0 01515 pmol / L. Để khắc phục điều này, chất chủ vận thụ thể GLP-1 và chất ức chế DPP-4 đã được phát triển để tăng hoạt động GLP-1. Trái ngược với các tác nhân điều trị phổ biến như insulin và sulphonylurea, điều trị dựa trên GLP-1 có liên quan đến giảm cân và giảm nguy cơ hạ đường huyết, hai cân nhắc quan trọng đối với bệnh nhân tiểu đường típ 2.
Biểu hiện gen

Gen proglucagon được biểu hiện ở một số cơ quan bao gồm tuyến tụy (tế bào α của các tiểu đảo Langerhans), ruột (tế bào L enteroendocrine đường ruột) và não (não và thân não và vùng dưới đồi). Biểu hiện gen proglucagon tuyến tụy được thúc đẩy khi nhịn ăn và hạ đường huyết gây ra và bị ức chế bởi insulin. Ngược lại, biểu hiện gen proglucagon đường ruột bị giảm trong quá trình nhịn ăn và kích thích khi tiêu thụ thực phẩm. Ở động vật có vú, phiên mã tạo ra mRNA giống hệt nhau trong cả ba loại tế bào, được dịch tiếp theo tiền chất amino acid 180 được gọi là proglucagon. Tuy nhiên, là kết quả của các cơ chế xử lý hậu biến đặc hiệu mô, các peptide khác nhau được tạo ra trong các tế bào khác nhau.
Trong tuyến tụy (tế bào α của các đảo nhỏ của Langerhans), proglucagon bị cắt bởi prohormone convertase (PC) 2 tạo ra peptide tụy liên quan đến glicentin (GRPP), glucagon, peptide-1 (IP-1) MPGF).
Trong ruột và não, proglucagon được xúc tác bởi PC 1/3 tạo ra glicentin, có thể được xử lý thêm thành GRPP và oxyntomodulin, GLP-1, can thiệp peptide-2 (IP-2) và peptide giống như glucagon- 2 (IP-2) GLP-2). Ban đầu, GLP-1 được cho là tương ứng với proglucagon (72-108) phù hợp với đầu N của MGPF, nhưng các thí nghiệm giải trình tự GLP-1 nội sinh đã tiết lộ một cấu trúc tương ứng với proglucagon (78-107). Đầu tiên, GLP-1 (1-37) có độ dài đầy đủ đã được tìm thấy được xúc tác bởi endopeptidase thành GLP-1 hoạt tính sinh học (7-37). Thứ hai, glycine tương ứng với proglucagon (108) đã được tìm thấy để phục vụ như một chất nền cho phản ứng amin hoá đuôi C của arginine, kết quả là (7-36) amide GLP-1 hình thành.
Moronidae

| Moronidae |
| --- | --- |
Một con cá vược sọc (Morone saxatilis)
Phân loại khoa học
Giới (regnum): Animalia
Ngành (phylum): Chordata 
Nhánh: Craniata
 
Phân ngành (subphylum): Vertebrata
Phân thứ ngành (infraphylum): Gnathostomata
Liên lớp (superclass): Osteichthyes
Lớp (class): Actinopterygii 
Nhánh: Actinopteri
 
Phân lớp (subclass): Neopterygii
Phân thứ lớp (infraclass): Teleostei 
Nhánh: Osteoglossocephalai
Nhánh: Clupeocephala
Nhánh: Euteleosteomorpha
Nhánh: Neoteleostei
Nhánh: Eurypterygia
Nhánh: Ctenosquamata
Nhánh: Acanthomorphata
Nhánh: Euacanthomorphacea
Nhánh: Percomorphaceae
Nhánh: Eupercaria
 
Họ (familia): Moronidae D. S. Jordan & Evermann, 1896
Các chi
 Dicentrarchus  Morone 
Moronidae là danh pháp khoa học của một họ cá dạng cá vược, theo truyền thống xếp trong bộ Cá vược (Perciformes). Trong ấn bản lần 5 của Fishes of the World năm 2016, họ này cùng các họ Drepaneidae, Ephippidae được xếp trong bộ Moroniformes, nhưng các kết quả nghiên cứu của Betancur et al. (2016) không hỗ trợ điều này và họ này được phân loại ở vị trí không xác định (incertae sedis) trong loạt Eupercaria trong khi hai họ Drepaneidae, Ephippidae được xếp trong bộ Ephippiformes.
Họ này phân bố ở các vùng nước ngọt, nước lợ và nước mặn thuộc Bắc Đại Tây Dương, gồm vùng duyên hải Bắc Mỹ và vịnh Mexico, châu Âu và Bắc Phi. Moronidae là họ của các loài cá vược (bass) sống ở vùng nước ôn đới, và có thể phát hiện ở sông hay cửa biển. Thành viên nổi tiếng nhất của nhóm này là cá vược sọc (Morone saxatilis), một trong những con cá câu thể thao nổi tiếng nhất.
Đặc điểm

Các loài cá vược thuộc họ này sống ở vùng nước ôn đới có 2 vây lưng - trong đó vây lưng một có 8-10 tia gai, vây lưng hai có 1 tia gai và 10-13 tia mềm. Vây hậu môn 3 tia gai và 9-12 tia mềm, và 1 vây đuôi chia thùy. Nắp mang 2 tia gai. Đường bên chạy gần đến mép sau của vây đuôi. Hàng phụ các vảy đường bên trên vây đuôi nừm trên và dưới hàng chính.Tia xương mang (branchiostegal rays) 7. Đốt sống 25.
Chúng có thể lớn đến 45–200 xentimét (18–79 in) và là cá thương mại ở một số nơi trên thế giới. Cá vược họ này sống ở vùng nước ôn đới có khuynh hướng di cư cao, thỉnh thoảng di chuyển một quãng đường rất xa. Tất cả chúng sinh sản trong vùng nước ngọt trong mùa xuân, và ăn các loài cá nhỏ hơn cùng với tôm và giáp xác khác. Một số loài cũng được nuôi thương mại, và ngư dân cũng có thể lợi dụng trữ lượng cá nuôi, thường được thả vào các khu vực nước có trữ lượng bị tàn phá.
Chú thích

1 2 3  Chủ biên Ranier Froese và Daniel Pauly. (2019). "Moronidae" trên FishBase. Phiên bản tháng 4 năm 2019.
↑  Nelson J. S.; Grande T. C.; Wilson M. V. H. (2016). “Classification of fishes from Fishes of the World 5th Edition” (PDF). Bản gốc (PDF) lưu trữ ngày 13 tháng 3 năm 2020. Truy cập ngày 10 tháng 5 năm 2018.
↑  Betancur-R R., E. Wiley, N. Bailly, A. Acero, M. Miya, G. Lecointre, G. Ortí. 2017. Phylogenetic Classification of Bony Fishes – Phiên bản 4, 2017. BMC Evolutionary Biology BMC series – open, inclusive and trusted 2017 17:162. doi:10.1186/s12862-017-0958-3
Myrcia dealbata

| Myrcia dealbata> Phân loại khoa học |
| --- | --- |
Giới (regnum): Plantae
(không phân hạng): Angiospermae
(không phân hạng): Eudicots
Bộ (ordo): Myrtales
Họ (familia): Myrtaceae
Chi (genus): Myrcia
Loài (species): M. dealbata
Danh pháp hai phần
Myrcia dealbata DC., 1828 
Myrcia dealbata là một loài thực vật có hoa trong Họ Đào kim nương. Loài này được DC. mô tả khoa học đầu tiên năm 1828.
Chú thích

↑  The Plant List (2010). “Myrcia dealbata”. Truy cập ngày 7 tháng 6 năm 2013.
Epilobium davuricum

| Epilobium davuricum> Phân loại khoa học |
| --- | --- |
Giới (regnum): Plantae
(không phân hạng): Angiospermae
(không phân hạng): Eudicots
(không phân hạng): Rosids
Bộ (ordo): Myrtales
Họ (familia): Onagraceae
Chi (genus): Epilobium
Loài (species): E. davuricum
Danh pháp hai phần
Epilobium davuricum Fisch. ex Hornem. 
Epilobium davuricum là một loài thực vật có hoa trong họ Anh thảo chiều. Loài này được Fisch. ex Hornem. mô tả khoa học đầu tiên năm 1819.
Chú thích

↑  The Plant List (2010). “Epilobium davuricum”. Truy cập ngày 27 tháng 8 năm 2013.
Phaseolus maculatus

| Phaseolus maculatus |
| --- | --- |

Phân loại khoa học
Giới (regnum): Plantae
(không phân hạng): Angiospermae
(không phân hạng): Eudicots
(không phân hạng): Rosids
Bộ (ordo): Fabales
Họ (familia): Fabaceae
Tông (tribus): Phaseoleae
Chi (genus): Phaseolus
Loài (species): P. maculatus
Danh pháp hai phần
Phaseolus maculatus Scheele 
Danh pháp đồng nghĩa
 Phaseolus metcalfei Wooton & Standl.  Phaseolus ovatifolius Piper  Phaseolus retusus Benth. 
Phaseolus maculatus là một loài thực vật có hoa trong họ Đậu. Loài này được Scheele miêu tả khoa học đầu tiên.
Chú thích

↑  Tropicos
↑  The Plant List
↑  The Plant List (2010). “Phaseolus maculatus”. Truy cập ngày 5 tháng 6 năm 2013.
Phaseolus microcarpus

| Phaseolus microcarpus> Phân loại khoa học |
| --- | --- |
Giới (regnum): Plantae
(không phân hạng): Angiospermae
(không phân hạng): Eudicots
(không phân hạng): Rosids
Bộ (ordo): Fabales
Họ (familia): Fabaceae
Chi (genus): Phaseolus
Loài (species): P. microcarpus
Danh pháp hai phần
Phaseolus microcarpus Mart. 
Phaseolus microcarpus là một loài thực vật có hoa trong họ Đậu. Loài này được Mart. miêu tả khoa học đầu tiên.
Chú thích

↑  The Plant List (2010). “Phaseolus microcarpus”. Truy cập ngày 5 tháng 6 năm 2013.
Cú pháp ngôn ngữ C++

Cú  pháp ngôn ngữ C++ là tập hợp các quy tắc nhằm xác định cách thức viết và dịch trong ngôn ngữ lập trình C++.
Vì C++ là ngôn ngữ được thiết kế để có thể hoạt động tương thích với ngôn ngữ C nên hai ngôn ngữ này chia sẻ nhau nhiều điểm chung trong cú pháp. Đối với các cấu trúc câu lệnh thông thường, các hàm, biến, và kiểu dữ liệu cơ bản xin xem thêm bài cú pháp C. Bài này chỉ tập trung vào các chủ đề căn bản mà ngôn ngữ C không có trong đó bao gồm việc hỗ trợ các mẫu hình lập trình tiêu bản và lập trình hướng đối tượng của C++.
Chức năng Hướng đối tượng > Lớp > Định nghĩa lớp cơ bản

Việc sử dụng lớp trong một chương trình C++ có hai phần chính là phần định nghĩa lớp và phần khai báo và truy cập các thành viên của một đối tượng có kiểu là một lớp cho trước.
Định nghĩa thông thường của một lớp cơ bản không kế thừa từ bất kì lớp nào khác:
class  MyClass   // tên lớp
   {
	public:
		(danh sách các thành viên có đặc tính công cộng)
	private:
		(danh sách các thành viên có đặc tính riêng tư)
   	protected:
		(danh sách các thành viên có đặc tính bảo tồn)
   };  // dấu chấm phẩy chấm dứt câu lệnh
Lưu ý: khi các từ khoá đặc tính public:, private:  và protected: không có mặt thì toàn bộ các thành viên của lớp sẽ được hiểu mặc định là có đặc tính riêng tư (private).
Dùng khai báo biến myVar làm một thực thể (instance) của lớp MyClass:
Chức năng Hướng đối tượng > Lớp > Định nghĩa lớp con

Định nghĩa thông thường của một lớp con kế thừa từ lớp MyClass. Trong thí dụ dưới đây thì [đặc_tính] có thể thay bằng một trong ba từ khoá đặc tính public:,  private:  và protected: hoặc nếu bỏ qua không viết ra thì đặc tính kế thừa mặc định của lớp con sẽ là "riêng tư".
class  MySubClass: [đặc_tính] MyClass
   {
	public:
		(danh sách các thành viên có đặc tính công cộng)
	private:
		(danh sách các thành viên có đặc tính riêng tư)
   	protected:
		(danh sách các thành viên có đặc tính bảo tồn)

   };  // dấu chấm phẩy chấm dứt câu lệnh
Định nghĩa thông thường của một lớp con kế thừa từ hai lớp MyClass1 và MyClass2. Tương tự trên, [đặc_tính] có thể thay bằng một trong ba từ khoá đặc tính public:, private:  và protected: hoặc nếu bỏ qua không viết ra thì đặc tính kế thưà mặc định của lớp con sẽ là "riêng tư".
class  MySubClass: [đăc_tính] MyClass1,  [đăc_tính] MyClass2
   {
	public:
		(danh sách các thành viên có đặc tính công cộng)
	private:
		(danh sách các thành viên có đặc tính riêng tư)
   	protected:
		(danh sách các thành viên có đặc tính bảo tồn)

   }
Chức năng Hướng đối tượng > Lớp > Khai báo một biến đối tượng > Biến đối tượng thông thường

Biến đối tượng có thể khai báo hay đôi khi còn gọi là thực thể hoá tùy theo cách xây dựng lớp của người lập trình. Thường quá trình xác lập này được tiến hành thông qua các hàm dựng. Dĩ nhiên, người ta có thể dùng ngay cả các phương thức thường dùng như là dùng tham chiếu (tức là dùng định nghĩa con trỏ), dùng mảng, dùng cấu trúc, hay phức tạp hơn (mảng tham chiếu chẳng hạn) để khai báo một biến đối tượng. (Xem thêm Cú pháp ngôn ngữ C.) Trong mọi trường hợp này thì kiểu của biến đối tượng được xem là lớp mà nó khai báo. Thí dụ:
MyClass A10;                     //biến thông thường
  MyClass *A10ptr = new MyClasss;  //biến con trỏ
  &MyClassRef = A10;               //biến kiểu tham chiếu (ngược)
Lưu ý: người lập trình hoàn toàn có thể thực thể hoá một biến đối tượng mà không cần phải xây dựng một hàm dựng, trình dịch sẽ tự tạo ra một "hàm dựng mặc định". Tuy nhiên, một khi đã xây dựng bất kì một hàm dựng nào thì cách khai báo mặc định này sẽ không còn được trình dịch chấp thuận và sẽ báo lỗi. Thí dụ sau đây thể hiện cách tạo một lớp mà không cần hàm dựng:
#include <iostream>
 using namespace str;
 class Number
 {
	private:
		int x;
	public:
		void setValue (int y) { x= y;}
		void getValue () {cout << x << endl;}
 };
 int main ()
 {
        Number myNumber;
    	myNumber.setValue(4);
        myNumber.getValue();
        return 0;
 }
Chức năng Hướng đối tượng > Lớp > Khai báo một biến đối tượng > Biến đối tượng là một hằng

Trường hợp khi thành lập một đối tượng hằng thì việc điều chỉnh trạng thái nội tại của nó là không hợp lệ do đó, chỉ có một cách duy nhất là gán cho nó một bộ giá trị (hay một trạng thái) ban đầu. Trong trường hợp này thì sau khi đã thực thể hóa, biến đối tượng chỉ có thể cho phép đọc các giá trị nào mà lớp tạo ra nó cho phép. (xem thí dụ)
Chức năng Hướng đối tượng > Các thành viên của lớp > Thành viên dữ liệu

Ngoài các khai cáo thành viên có kiểu dữ liệu như thông thường trong C, thì người lập trình còn có thể khai báo nó như một hằng, hay như một biến tĩnh, hay có cả hai đặc tính:
Thành viên dữ liệu là một hằng: Trương tự như trong C, một thành viên là dữ liệu có thể được khai báo như là một hằng bởi từ khóa const đứng trước tên kiểu dữ liệu. Một khi đã khai báo là hằng thì không thể gán giá trị mới hay thay đổi nội dung của kiểu dữ liệu đó nữa (Lưu ý: trong C++ thì kiểu dữ liệu có thể là một lớp đã được định nghĩa). Do đó, dữ liệu là hằng sẽ được gán giá trị ban đầu ngay trong dòng lệnh khai báo tên của nó:
const int x;
Thành viên dữ liệu có kiểu static: Một khi thành viên của một lớp có kiểu là static thì nó sẽ có giá trị tĩnh cho mọi thực thể của cùng một lớp. Nghĩa là sự thay đổi giá trị của thành viên tĩnh này trong một thực thể bất kì sẽ có hiệu quả thay đổi của cùng thành viên đó trong các thực thể khác của cùng một lớp. Thực tế, khi một thành viên của một lớp được khai báo tĩnh thì phần bộ nhớ chứa giá trị của thành viên này sẽ được chia sẻ cho mọi thực thể về sau. Nói cách khác, ứng với mỗi thành viên tĩnh, chỉ có duy nhất một giá trị chia sẻ chung cho cả lớp.
=

Thành viên dữ liệu có thể có cả hai đặc tính trên tức là vừa có kiểu tĩnh vừa là hằng số. Thường từ khóa static được viết trước sau đó là từ khóa  const. Thí dụ dưới đây minh họa các cú pháp khai báo. việc sử dụng một biến hằng có kiểu tĩnh rất tiện lợi cho nhiều đối tượng thực thể hóa có cùng một lớp chia sẻ chung một hằng số (thí dụ: hằng số Pi dùng chung cho các đối tượng cung tròn, đường tròn, và elipse). Ngược lại, khi có các hằng số đặc thù cho từng thực thể của một lớp thì một cách là dùng hằng số thông thường (chẳng hạn như cùng một lớp "chiết tính tiền lời cho vay" nhưng thực thể ngắn hạn có "hằng số lãi kép" cao hơn nhiều so với hằng số lãi kép dài hạn). Thí dụ dưới đây minh họa cú pháp khai báo
#include <iostream>
 #include <string>

 using namespace std;
  
 class A {
	public:
		A(int x, int y); 
	     	void setStatic (int x) { value= x; }    //hàm thành viên xác lập trực tiếp trong dòng lệnh khai báo
                void setNormal (int x) { normal=x; }
                void setValue(int i) { value = i;}
	     	void getValue() const { cout<< "value "<< value << endl;}
		void getShareConst() const {cout << "shareconst:" << shareconst << endl;}
		void getPrivate() const;
		void getNormal() const {cout << "normal variable:" << normal << endl;}
		
	private:
		static int value;
		static const int shareconst;
		const int privateconst;
		int normal;
		};
		
 int A::value=3;             //gán giá trị cho biến tĩnh ở đây dùng chung cho mọi hàm của lớp A (=3)
 const int A::shareconst=2;  //gán giá trị cho hằng có kiểu tĩnh
 A::A(int x, int y):privateconst(y)     //Hàm dựng: cách gán giá trị ban đầu cho một hằng thông thường
 {
	normal=x;                       //gán giá trị ban đầu cho biến thông thường
 }

 void A::getPrivate() const  //cách để xác lập mã cho hàm thành viên bên ngoài dòng lệnh khai báo của lớp
 {
	cout <<"privateconst:" << privateconst << endl;
 }

 int main ()
 {
	A A1(3,1);        // giá trị hằng privateconst của A1 được gán ở đây (=1)
        A A2(5,2);        // giá trị hằng privateconst của A2 được gán ở đây (=2)
	A1.getPrivate();
        A2.getPrivate();
        A1.getShareConst(); //đọc giá trị hằng của biến tĩnh trong A1
        A2.getShareConst(); //biến tĩnh trong A2 có cùng giá trị với biến tĩnh của A1 
        A1.setValue(4);     //cài đặt cho biến tĩnh value cho đối tượng A1
        A2.getValue();      //Cài dặt từ A1 nhưng lại có giá trị luôn cho đối tượng A2        
        
	return 0;	
 }
Kết quả sau khi dịch và chạy chương trình trên là:
1
 2
 2
 2
 4
Lưu ý: bạn sẽ không thể gán giá trị nào khác ngoài các giá trị ban đầu khi khai báo cho các hằng. Trong thí dụ trên hàm setValue sẽ cho phép bạn gán lại giá trị tĩnh value của lớp A và nó ảnh hưởng đến mọi thực thể cùng lớp A. Trong khi hàm setNormal cho phép gán lại giá trị cho biến normal thông thường trong một thực thể của lớp A sẽ chỉ hiệu lực cho riêng thực thể đó mà thôi.
= > Hàm thành viên

Các khai báo một thành viên là hàm trong một lớp có thể dùng hai dạng chính sau:
Mô tả trực tiếp trong định nghĩa của lớp mà hàm là thành viên
[virtual] int
Mô tả sau bên ngoài sau định nghĩa của lớp mà hàm là thành viên
= > Hàm dựng (còn gọi là cấu tử, Constructor)

Cấu tử là hàm thành viên đặc biệt, có tên trùng với tên của lớp, làm nhiệm vụ tạo lập đối tượng theo yêu cầu. Khi một đối tượng được khai báo thì cấu tử sẽ tự động thực hiện để tạo lập đối tượng trong bộ nhớ. Một lớp có thể có nhiều cấu tử (tải bội), cấu tử không có tham số là cấu tử mặc định. Nếu ta không định nghĩa một cấu tử nào thì cấu tử mặc định sẽ được sử dụng, trái lại sẽ không được sử dụng.
#include <iostream.h>
 class Point 
      { int x, y;
        public:
              Point(){x=0;y=0;}	//Cấu tử mặc định
              Point(int a, int b=0){x=a;y=b;}
              void Display(){cout <<"Toa do: ("<<x<<','<<y<<')'<<endl};
      };
int main()
{ Point a, b(1), c(2,3);
  a.Display();b.Display();c.Display();
  return 0;
 }
Đối tượng a được tạo lập bởi cấu tử thứ nhất. Các đối tượng b và c được tạo lập bởi cấu tử thứ hai. Cấu tử thứ hai có một tham số mặc định, nếu ta đặt mặc định cho cả hai tham số thì phải bỏ đi cấu tử thứ nhất, vì nếu không, sẽ dẫn đến sự nhập nhằng khi khai báo Point a; (Ambiguity between 'Point::Point()' and 'Point::Point(int,int)').
Onminh (thảo luận) 18:16, ngày 28 tháng 9 năm 2009 (UTC)
= > Hàm hủy (còn gọi là huỷ tử, destructor)

Khi đối tượng không còn được sử dụng thì nên giải phóng nó khỏi bộ nhớ. Các hủy tử được sử dụng để làm việc này. Hủy tử cũng là hàm thành viên có tên trùng với tên của lớp, nhưng có thêm ký tự ~ ở trước. Nếu ta không định nghĩa, thì sử dụng hủy tử mặc định.Tất cả các hủy tử đều không có tham số. Trong ví dụ trên, ta có thể định nghĩa hủy tử như sau:
~Point(){}
Onminh (thảo luận) 18:15, ngày 28 tháng 9 năm 2009 (UTC)
= > Hàm hằng

Một hàm thành viên có thể được khai báo đẻ trở thành hàm hằng. Với khai báo này thì thành viên đó sẽ chỉ có giá trị đọc được mà không có hiệu lực thay đổi giá trị nội tại của một thực thể. Để khai báo thì từ khóa const phải được đặt ngay sau khai báo hàm và đứng trước khối mã xác lập hàm số đó nếu có.
Lưu ý: Trong trường hợp này thì hàm hằng được hiểu với ý nghĩa khác với ý nghĩa trong toán học (khi một hàm số là có giá trị không đổi)
// hàm hằng 
 class Time
 {
   public:
      Time(int h, int m, int s);
      int getHour() const;     //Hàm hằng chỉ đọc được 
      void setHour(int h);   // hàm này dùng để gán hay thay đổi giá trị nên không thể khai báo const
   private:
      int hour;
 };
 
 int Time::getHour() const  //khai báo hàm hằng
 {
   return hour;        // không thay đổi giá trị của bất kì thành viên nào
 }

 void Date::setHour(int h)
 {
   hour = h          // thay đổi giá trị của thành viên dữ liệu
 };

 int main()
 {
   Time MyTime(10,5,15);
   const Time MyNoon(12,0,0); // Khai báo một đối tượng (hay một thực thể) là hằng
   MyTime.setHour(5);         // OK
   Mytime.getHour();          // OK
   // MyNoon.setHour(2);      // lỗi dòng này vì việc cài giá trị mới lên hằng MyNoon
 }
Lưu ý: Việc khai báo một kiểu dữ liệu nói chung hay một thành viên của một lớp nói riêng là một hằng có thể có nhiều điểm phức tạp khi kết hợp với các kiểu tham chiếu hay con trỏ. (xem thêm Const Correctness in C++, The C++ 'const' Declaration: Why & How và Const correctness về cách sử dụng từ khóa const cho có hiệu quả)
= > Hàm ảo (virtual function)

Hàm ảo thường được định nghĩa ở lớp cơ sở và cho phép các lớp dẫn xuất từ nó được định nghĩa lại hàm ảo này. Giả sử FIGURE là lớp cơ sở, có sẵn phương thức Draw(). Lớp SQUARE và lớp CIRCLE cùng được dẫn xuất từ lớp FIGURE. Tất nhiên ta sẽ phải định nghĩa lại hai phương thức là SQUARE::Draw() và CIRCLE::Draw() của từng lớp cho phù hợp. Giả sử ptr là con trỏ trỏ đối tượng thuộc lớp FIGURE, s và c tương ứng là hai đối tượng thuộc lớp SQUARE và CIRCLE. Ta muốn rằng, khi cho ptr trỏ tới s thì lời gọi prt->Draw() sẽ vẽ ra hình vuông, còn khi cho ptr trỏ tới c thì lời gọi prt->Draw() sẽ vẽ ra hình tròn. Cách giải quyết của C++ là định nghĩa FIGURE::Draw() là hàm ảo. Ta xem ví dụ sau:
#include <iostream.h>
#include <conio.h>
class FIGURE 
      {  int Xc, Yc;
         public:
         	FIGURE (int x=0, int y=0){Xc=x;Yc=y;}
         	virtual void Draw(){ cout<<"Tam tai: ("<<Xc<<','<<Yc<<')'<<endl;}
      };
class CIRCLE:public FIGURE
         { int  R;
           public:
                CIRCLE (int x=0, int y=0, int r): FIGURE(x,y) {R =r;}
                void Draw()
                    { cout <<"Ve hinh Tron:"<<endl;
                      FIGURE::Draw();
                      cout<<"Ban kinh: "<<R<<endl;
                    }
         };
class SQUARE:public FIGURE
         { int  D; 	
	   public:
                SQUARE (int x=0, int y=0, int d): FIGURE(x,y) {D=d;}
                void Draw()
                    { cout <<"Ve hinh Vuong:"<<endl;
                      FIGURE::Draw();
                      cout<<"Do dai canh: "<<D<<endl;
                    }
         };
int main()
{   SQUARE s(20,20,40);	
    CIRCLE c(30,30,50);
    FIGURE *ptr;			
    ptr=&s; ptr->Draw();
    ptr=&c; ptr->Draw();
    getch();
    return 0;
}
Không thể định nghĩa cấu tử là hàm ảo, vì chính cấu tử làm nhiệm vụ khởi tạo bảng phương thức ảo VMT (Virtual Methods Table). 
Tuy nhiên các hủy tử có thể là hàm ảo.
= > Hàm cơ bản trừu tượng (pure virtual function)

Hàm cơ bản trừu tượng được giới thiệu trong lớp nhưng không được định nghĩa; hàm này bắt buộc phải được định nghĩa lại trong lớp con (derived class).
Nguyên tắc viết một hàm cơ bản trừu tượng là thêm =0 khi giới thiệu hàm.
Thí du:
void chay() = 0; // = 0 có nghĩa đây là hàm cơ bản trừu tượng
= > Chức năng đặc biệt trên các hàm trong C++ > friend

Hàm bạn không phải là hàm thành viên của lớp nhưng có thể thay đổi giá trị thành viên của lớp. Thí dụ:
class A {
friend void change(A &a)
private:
int b;
};
void change(A &a) { a. b++; } // thay đổi thành viên b trong lớp A
===
= > Chức năng đặc biệt trên các hàm trong C++ > Nạp chồng hàm (function overloading)

Trong C++ có thể định nghĩa nhiều hàm trùng tên nhau, nhưng những hàm này phải có parameter khác nhau.
Thí dụ:
// Hàm này nhận 1 tham số là: "ia"
int ham (int ia)
{ 
   return ia; 
}

//=====================================================
// Hàm này cùng tên với hàm trên và nhận 2 tham số là: "ia" và "ib"
int ham (int ia, int ib)
{ 
   return ia + ib;
}